Patent Publication Number: US-7212670-B1

Title: Method of feature identification and analysis

Description:
A portion of the disclosure recited in the specification contains material which is subject to copyright protection. This application includes a compact disk appendix containing source code listings that list instructions for a process by which the present invention may be practiced in a computer system. Two identical copies of the source code listing, file name “Carbo,” 7.10 MB, are provided on compact disks created on May 2, 2002. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise all copyright rights are reserved. 
     FIELD OF THE INVENTION 
     The present invention relates to a method for natural resource management. More specifically, this invention relates to a method of identifying and analyzing digital images to extract, classify, and analyze aggregate and individual features. More specifically, this invention relates to a method of identifying, classifying and analyzing digital images of timber containing areas, segmenting stands of timber from these timberlands, and classifying and analyzing individual stands to produce a timber inventory. 
     BACKGROUND OF THE INVENTION 
     Feature identification and classification from aerial and satellite images have become increasingly valuable sources of information for natural resource management, and are useful in both public and private sectors for conservation and crop planning practices. However, current systems of forest inventorying are unsatisfactory, as they may be labor intensive, subject to substantial human error, or both. 
     Forest inventorying and analysis require the location and identification of valuable timber, typically present in stands of trees spread over large and geographically diverse areas. Current methods of locating and identifying timber include making field observations and measurements of individual trees, manually reviewing aerial photographs and satellite images, and automated or computer driven reviewing of digital aerial photographs and images. Field observation by professional foresters is both costly, labor-intensive, and slow, as it involves walking the forests and measuring the trees by hand. For example, up to 75% of a typical Appalachian region hardwood sawmill forestry staffs time may be spent looking for valuable timber. However, this labor-intensive search for timber usually meets only 70% of the sawmill&#39;s timber requirements. The remainder of the timber is then usually purchased in a closed bid auction. Accordingly, the sawmill thus incurs both the skilled labor costs involved with the manual location of timber, and premiums added to the cost of the timber purchased in the closed bid process, which can range from 30% to 100% of the timber&#39;s uncut fair market value. Tree measurements obtained by this method may also be substantially inaccurate because a forester cannot economically measure every tree or visit all parts of the tree stand measured. Rather, the forester will typically rely on sampling: measuring sample plots and generalizing the results to the whole stand, and then to the whole forest. This method is particularly subject to error in locating the more valuable tree stands, given the errors inherent in geographical sampling methods. Field measurement work is affected by the diverse methods that individual foresters use to make the measurements, as well as by the forester&#39;s exposure to adverse conditions such as weather changes and inhospitable terrain. These factors, among others, substantially affect the accuracy of timber inventories obtained by field observation methods. 
     Similarly, manual review of aerial photographs or images of a forest canopy, where comparisons to sample plots are sometimes used, also involves a time intensive review by a staff of skilled foresters. These methods are both inefficient and typically require a staff of foresters who are highly skilled in image interpretation. Moreover, variance in the level of experience and skill of the forester performing the review makes the analysis subject to human error and bias, and the accuracy of timber inventories obtained by this method is limited at best. Concurrent ground-truthing as a form of field observation to confirm or support the forester&#39;s analysis is often required, and even so, errors may lead to inaccuracies in tree count, stand location and composition, such that a less than satisfactory inventory is produced, whether for purchasing the timber, inventorying current timber, or conservation/ecological preservation of public and private lands. 
     Additionally, current systems and methods for automated digital image classification and analysis, when applied to images of forest canopies, such as tree stand and tree crown delineation, are also inaccurate or produce incomplete inventories. Typical algorithm based methods that rely on pixel color classification of imagery use only low-resolution imagery, and are accordingly inaccurate and incomplete at the stand level. Although pixel classification of satellite imagery may be used for forest inventories and estimating forest attributes, these are mainly appropriate only for large-scale forests, on the order of 100 hectares or more, and accordingly these methods fail to obtain accurate location or ownership information regarding the imaged forested areas. See Juha Hyyppa, et al., “A segmentation-based method to retrieve stem volume estimates from 3-dimensional tree height models produced by laser scanner,” Finnish Geodetic Institute, Department of Phogrammetry and Remote Sensing, MASALA, Finland. Moreover, typical methods using pixel classification for timber measurements at the stand-level is often unreliable and subject to error because the image resolution does not permit single tree measurements or accurately discern individual tree crown areas, i.e. the inventories obtained erroneously cluster small trees of limited total value may be erroneously classified as one large tree of substantial value. 
     Still other methods have been applied to high pulse-rate laser scans taken from aerial platforms, however current systems typically are only able to partially capture the physical dimensions of the trees captured. See Hyyppa, et al. High pulse-rate laser scanners digitally record the height of the tree canopy, enabling estimation of tree crown area. However, these images are in only a single narrow band or channel, have only grayscale values, and provide only estimates of tree crown area. Even when at high resolution, the computerized methods applied to these images are unable to accurately classify trees as to species, and species classifications would thus require ground truthing in order to provide accurate timber inventories. Accordingly, without tree species classification, there is a significant deficiency in the amount of information generated about the tree stand and forested region, and the value of the inventory to a potential land use planner, sawmill operator or land owner is significantly decreased. 
     Additional automated methods of image analysis that use rule-based processes to outline object boundaries have also been employed to determine the location of individual tree crowns based on small indentations in tree cluster boundaries, or identify and regroup segments of crown into single crowns. However, these methods only estimate the location of trees and estimate the area of tree crowns, and thus are not as accurate as actual identification of tree crowns. See Francois A. Gougeon and Donald G. Leckie, “Individual Tree Crown Image Analysis—A Step Towards Precision Forestry,” presented at the First Int. Precision Forestry Symposium, Seattle, Wash., USA (Jun. 17–20, 2001). For example, these methods typically only partially form polygons or boundaries around each tree crown, and estimate the remainder of the boundary using a flooding model methodology. “Comparison of Two Tree Apex Delineation Techniques,”  International Forum Automated Interpretation of High Spatial Resolution Digital Imagery for Forestry, Pacific Forestry Centre, Victoria, British Columbia, Canada, pp.  93–104 (Feb. 10–12, 1998). Gougeon and Leckie have also described the valley following technique, which is used to delineate trees, but it has heretofore required a high degree of separation (e.g. shaded area) between individual trees in the tree stand in order to delineate individual trees. See Gougeon and Leckie (2001). 
     Moreover, none of the aforementioned automated or manual reviewing methods provides an efficient and accurate inventory that includes the actual economic value of the timberland being inventoried by taking into account the varying market value for trees of varying sizes and species, nor do they provide information on the ownership of the timberland being imaged and analyzed. Thus, there is a need in the art to provide a method for inventorying timberlands efficiently and accurately which provides valuation information such as the stem volume, size, species, location and ownership of particular tree stands and forests. 
     SUMMARY 
     The present invention provides a method of efficiently and accurately identifying and analyzing features from digital images. According to one embodiment, the present invention provides a method of efficiently and accurately inventorying timberlands to provide valuation information essential to land use planners, sawmills, land owners, and others having economic or environmental interests in a given parcel of timber. The invention includes analyzing a digital image to generate data and economic value information about timber, on the tree stand level, and on the individual tree level. One embodiment of the invention includes segmenting a stand from a digital image, segmenting a tree crown area from the stand, applying one or more models to the tree crown area to determine the Diameter Breast Height (DBH) of the tree corresponding to the tree crown, optionally identifying the species of the tree, and generating an inventory of valuation information about the stands of trees. 
     In one embodiment of the invention, a computer assisted method includes segmenting tree stands from a digital image using an unsupervised algorithm to produce stand segmentation polygons, segmenting a portion of the digital image encompassed stand segmentation polygons to produce tree crown polygons, classifying the trees crowns based on one or more attributes discerned from the digital image, and analyzing the tree crown areas to produce a tree stand inventory. 
     In one embodiment of the invention, segmenting tree stands from digital images includes segmenting a digital image to produce a tree stand polygon image using an unsupervised segmentation algorithm, outputting the tree stand polygon as a polygon image (video display or printed), comparing said polygon image to the digital image, and optionally adjusting said unsupervised segmentation algorithm so that the tree crown polygons correspond to the objects shown in the digital image. In one embodiment of the invention, segmenting the tree stands includes merging polygons by manually selecting portions of polygons to be removed. 
     In one embodiment of the invention, the step of segmenting the tree crowns also includes an optional step of adjusting the segmentation algorithm. 
     In one embodiment of the invention, the step of classifying tree crowns utilizes supervised classification to determine tree species. In one embodiment, the species of one to five trees is identified by the user from the digital image, and a training algorithm identifies the remaining trees in the stand, and storing the tree species data thus obtained in the searchable database. 
     In one embodiment of the invention, tree crowns are analyzed by applying models which relate tree species data to tree crown polygon area, and the data is stored in a searchable database, e.g. as a vector file attribute. In one embodiment, the total stem volume in a given stand for a range of trees having a given DBH, species or both is determined. In one embodiment of the invention, the vector file locations can be overlaid by stand onto a geo-coded map or a map coordinate system and integrated with tax, soil, and slope overlays about the same piece of property to provide a complete data set of physical, geographical, statistical and valuation information about the particular forested area. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a schematic diagram illustrating the steps of the present invention. 
         FIG. 2  is a digitized input image with a 2–4 meter/pixel resolution illustrating a 12 square mile forested area in Nicholas County, West Virginia. 
         FIG. 3  is a flow chart of the step of high level segmentation of tree stands from a digital input image. 
         FIG. 4  illustrates an example of a digital image output using a computer video monitor, overlayed with the polygon image produced by the step of high level tree stand segmentation. 
         FIG. 5  illustrates the same input image as  FIG. 4 , after unsupervised stand segmentation adjustment. 
         FIG. 6  illustrates manual stand segmentation adjustment by circumscribing a line through tree stand segment polygon borders, such that the portion of the polygon circumscribed is removed from the segmentation image and file. 
         FIG. 7  illustrates the result of manual segmentation adjustment on  FIG. 6 . 
         FIG. 8  is a flow chart of low level tree crown segmentation. 
         FIG. 9  illustrates user selection of a stand vector file for tree crown delineation, species classification, and data analysis. 
         FIG. 10  illustrates the selected stand vector file before low level segmentation. 
         FIG. 11  illustrates low level tree crown segmentation using control parameters. 
         FIG. 12  is a species classification flow chart. 
         FIG. 13  illustrates a training procedure used in supervised tree crown species classification. 
         FIG. 14  illustrates computer assisted classification of unselected trees based on a training procedure and user selected training units. 
         FIG. 15  is a data analysis flow chart. 
         FIG. 16  illustrates a video monitor displayed data and image file containing data analysis results. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention relates to a method of accurately and efficiently classifying and analyzing a digital image that depicts forests and stands of trees. The trees represent individual features or objects depicted by the digital image, that comprise tree stands, which in turn are aggregate objects or features in the digital image. Examples of other individual features which are typically captured by digital images include, but are not limited to, single or small groupings of plants, trees or small groups of homogenous trees, a house, road or building or, in the case of a digital microscopic image, a vessel, cell or small number of cells. Aggregate features are comprised of large numbers of individual features, homogeneous or heterogeneous. Examples of aggregate features include, but are not limited to, a crops, marshlands, forests, and stands of trees. 
     According to one aspect of the present invention, the method is performed using a computer system, e.g. a processor, storage media, input device, and video display in operable connection. Referring now to  FIG. 1  illustrating one embodiment of the present invention, a digital image is taken of an area  10  comprised of a number of individual features, e.g. trees, roads, or buildings, and aggregate features, e.g. stands of trees and forests, and the invention relates to a method of accurately and efficiently inventorying the timber depicted by the image. The example includes segmenting forests into separate tree stands  30 , segmenting the tree stands into separate tree crowns  50 , and classifying the trees depicted in the digital image and segmented from the tree stands  60 , analyzing the tree stand crown polygons to determine the crown area of the trees  70 , and generating an accurate inventory of the tree stands and forests, comprised of the location, attribute data and valuation information produced by the preceding steps of the method  80 . Optionally, the inventory can be stored in a designated vector file or other computer storage means  90 . 
     The aggregate features of the digital image are separated into relatively homogeneous parts using a segmentation algorithm. In particular, a digital image of a portion of a forest, which typically depicts one or more species of trees of varying sizes, is segmented into stands of trees, which are preferably more homogeneous in composition than the forest itself. The stands are themselves segmented into polygons which encompass individual trees depicted in the portion of the digital image encompassed by the stand segment, such that the individual crowns of the trees are delineated by the polygons. The trees are then analyzed based on their crown area, classified by species or form model, or both, and using publicly obtainable forestry data and ratios to determine the tree&#39;s DBH and stem volume for each tree of a given species. The results of the classification and analysis are then compiled and saved in a searchable database, e.g. a vector file, such that a user of the system can determine the total stem volume for species of tree, or for trees of a range of DBH, or both, i.e. the total stem volume for a species of tree, including only trees of a certain minimal DBH, and optionally containing an accurate identification of the location and ownership of the trees, which is publicly available in tax parcel maps though difficult to obtain ordinarily. This information is particularly useful in the field of forestry, as it directly relates to the age of the forest, the health of the forest, and economic value of the trees contained in the forest, particularly since the location of the economically valuable trees is also identified. 
     Typical digital images for use in this invention are taken from aerial platforms or satellites and are either stored digitally when taken or transferred into digital format. As such, the input images contain digital numbers associated with pixels on the image. Typical sources for digital images digital or film cameras or spectrometers carried by aircraft or satellite. At least visible color channels and infrared bandwidths can be used. Optionally, high pulse rate laser scanner data is used in combination with digital imagery. Digital input imagery is preferably of a resolution of 1 meter, more preferably 0.5 meter. Preferably, input images are ortho-rectified to a geo-coded map and color balanced. 
     High Level Segmentation 
     According to one aspect of the current invention, segmentation by a seeded region growing method is performed to obtain a segmentation vector file of polygon boundaries for homogenous areas within the digital image, e.g. tree stands. Referring now to  FIG. 3 , an digital input image in a computer system is selected  31 . As an input, a resolution where single features such as tree crowns cannot be detected is selected in this phase, for example, a 2–5 meter/pixel resolution. The image can be subsampled to reach the required resolution  32 . For example,  FIG. 2  illustrates a digitized image using a 2–4 meter/pixel resolution. A prefilter may be used to eliminate unwanted details  33 . The prefilter value is the size of the discrete gaussian filter mask required to eliminate specific details and is preferably between 0 and 30. If desired, a gradient image analysis is performed to identify homogenous areas within the input image  34 . According to one embodiment of the method, gradient image analysis is performed by replacing the digital image with a new image corresponding to the greyscale gradient values of the image. A “seed point” is planted at the center of each region that has similar color/grayscale values  35 . The similarity is measured in the gradient image, where a “postfilter” parameter specifies a gradient window size, where a window is the distance between the center and outer pixel that are selected by the algorithm to calculate the gradient. Preferable windows for segmentation of forested regions range from 1 to 30, preferably 15 depending on the resolution of the digital image and the separation of the trees imaged. The pixel with the lowest gradient is assigned the segment&#39;s seed point, and a homogenous region is grown from the seed points by adding pixels into the segments in the minimum change direction among all segments in the image. The added pixels must be next to an existing segment in any current phase. Adding pixels is continued until the entire image has been saturated according to the seeded region growing method and all pixels belong to a segment, and pixels at the borders of the segments represent the segment polygons  36 . Boundary lines are drawn around the homogenous areas grown  37 . Aggregate feature segmentation according to one embodiment is preferably performed on input images of high resolution, 0.4 to 1.5 m/pixel, however, the scope of the invention is not limited to such input images. 
     Accordingly, segment boundary lines, or polygons, are formed around the homogenous segments which are preferably polygonal in shape, as indicated in  FIG. 4 . Segmentation as described herein may be carried out using the expressions found in the source code set forth in the appendix, however it is recognized that the scope of the present invention is not limited by the embodiments presented herein. 
     Where first performed by an automatic or unsupervised algorithm, segmentation may preferably be adjusted using unsupervised and/or manual adjustment of the segmented image file. Referring once again to  FIG. 3 , automatic unsupervised segmentation adjustment  38  is performed by adjusting the algorithm&#39;s filter threshold, which, upon reapplication of the segmentation algorithm, produces an the image as the merging together the neighboring segments of the previous phase, i.e. if their average color or texture feature is similar enough compared to a given threshold value. This phase can be done one or several times until the result is satisfactory. This phase is illustrated on  FIG. 5  which shows the result of unsupervised segmentation adjustment performed on the stand delineation in  FIG. 4 . The step of unsupervised segmentation adjustment in this embodiment is performed by an expression found in the source code set forth in Appendix A. It would be recognized, however, by those skilled in the art that the source code is provided for exemplary purposes and the invention is not limited by the code disclosed herein. 
     Manual segmentation adjustment  39  is performed by user selection of two or more neighboring segment polygons by drawing a line touching segment polygon borders using a mouse or other computer pointing device. Alternatively, the user drawn line may be connected at the start and end points and all segments that have points common with the line or that lie within the center of the line with connected start and end points will be merged. Manual segmentation adjustment is indicated in  FIGS. 6 and 7 .  FIG. 6  depicts a user drawn line across segment polygon boundaries.  FIG. 7  depicts a resulting larger homogenous segment. The manual segmentation function may be performed by the expression found in the source code set forth in the appendix, however it would be recognized by one skilled in the art that the scope of the present invention is not limited to the specific embodiment. 
     The resulting segmented image file  40  is stored in a vector file and can be displayed as an overlay or layer on the input image using ordinary display means. The segmented boundaries are stored in vector file format, such that the resulting layer can be drawn onto the original input image and/or rectified into any map coordinate system. 
     According to another embodiment of the present invention, no segmentation is required and a known boundary around an area on an input image is used to further analyze features within the image. 
     Low Level Segmentation 
     According to one aspect of the current invention, low level segmentation, or individual feature segmentation is performed on a segment selected from the high level segmentation file. Referring to  FIGS. 8 and 9 , a stand vector file overlay is selected  51 . According to one aspect of the present invention, individual tree crowns are segmented using seeded region growing  54 . As illustrated in  FIG. 10 , within a user selected tree stand, filtering may be necessary if the image is detailed and only analysis of specific tree crowns is desired. Preferably, control parameters are used to delineate only those tree crowns associated with a certain type, species or other parameter. A prefilter may be used to eliminate unwanted details. For example, the red/green/blue (RGB) value of the target color may be used if certain color trees are to be segmented. The prefilter value is the size of the discrete gaussian filter mask required to eliminate specific details and is preferably between 0 and 30. 
     Additionally, a seed threshold may be selected as the threshold value of a given local maximum corresponding to a RGB, luminance, or another color space, which is used as a seed point  53  from which to begin growing the low level segment according to a seeded region growing algorithm. The seed threshold in 8 bit images is between 0 and 256, preferably between 30 and 100. Alternatively, the seed threshold is another color parameter. Optionally, a cut ratio may also be used to filter out features on the image that will be considered background and left outside the remaining segments or individual tree crowns  52 . The cut ratio is a threshold greyscale value of background, using the lowest grayscale value in the used color space that should be included in the segments. Values lower than this cut ratio will be considered as background and left outside the growing segments. The cut ratio in 8 bit images is between 0 and 256, preferably between 30 and 100. Alternatively, the cut ratio is another color parameter. 
     According to one embodiment of the present invention, seed points are placed at local maxims on the image that are brighter than a given threshold value  53 . The brightness can be measured in luminance value of the image or some of the channels, or in a greyscale layer created using channel transformation based on channel information such as the calculated distance from a given color value in RGB, hue, saturation, or luminance-space and using that as the new greyscale value. This method makes it possible to find trees of a certain color and exclude other trees that have different color. Beginning from the seed points, individual low level segments are grown by adding pixels into the segments in the minimum change direction in the given greyscale layer, among all segments in the image  54 . The added pixels must be next to the existing segment in any current phase. Adding pixels is continued until the given cut ratio parameter value in the given greyscale space is achieved or the entire image has been saturated and all pixels belong to a segment. Boundary lines are drawn around each resulting segment, such as a delineated tree crown  55 . Tree crown segments from low level segmentation are illustrated on  FIG. 11 . This method of tree crown delineation generates complete boundaries around each tree crown, as opposed to partial boundaries, from which accurate and valuable physical tree data may be calculated. 
     Low level segmentation by seeded region growing and controlled filtering is performed according to the source code found in the appendix. It would be recognized, however, by those skilled in the art that the source code is provided for exemplary purposes and the invention is not limited by the code disclosed herein. 
     The resulting vector file containing low level segments, such as tree crowns, is displayed as an overlay using ordinary display means.  FIG. 8  illustrates an example of the resulting crown boundaries, and crown boundaries are stored in vector file format  56  or a raster label map, such that the resulting layer can be viewed on the original input image and/or rectified to any map coordinate system. 
     Classification 
     According to one aspect of the present invention, individual segments are classified according to species or class using supervised classification. Preferably, feature classification is performed on individual tree stands from a forestral digital image using a training procedure. Referring now to  FIG. 12 , a crown vector file overlay is selected  61 . The user identifies tree crowns associated with specific tree species by manually selecting trees  62 . Manual selection to create training sites, or user identified tree crowns, may be done by clicking on individual trees with a mouse or any other computer pointer device. The user identifies at least one tree crowns within a species, preferably 2–5 tree crowns. This training procedure  63  is illustrated in  FIGS. 12 and 13  which depicts three trees of a given species that have been manually selected. The number of training sites to be selected per species or class depends on the homogeneity of the individual delineated feature to be classified. For example, greater color homogeneity within a tree species on a particular tree crown vector file requires fewer training sites for that species. The user identifies up to 5 species within the crown vector file, preferably 1 to 5 species, more preferably 1 to 3 species. For each species identified, tree segment color, shape or texture measures are calculated to characterize the species. Preferably, the average color value of the tree crown segment or center location of the tree crown segment is used to characterize the species. 
     Remaining unselected tree crowns that correspond to those feature values are recognized and classified accordingly  64 , as shown in  FIGS. 12 and 14 . Classification is performed pursuant to any classification method known to one of ordinary skill in the art, preferably nearest neighborhood classification. 
     As indicated in  FIG. 12 , according to another embodiment of the invention, the user manually corrects the classification as necessary by manually classifying and/or reclassifying tree crowns based on manual observation of misclassifications  65 . 
     The resulting classification information is stored in a vector file  66 . Preferably, the species information is appended to the tree crown vector file. 
     Data Analysis 
     According to another aspect of the present invention, mathematical models are used to analyze additional attributes associated with segmented and classified features in aggregate segments. Preferably, classified tree crowns within a homogenous tree stand are used for analysis. Crown correlation models are based on data obtained through field measurements based on species specific variables including, but not limited to, actual field measurement of tree crown size, DBH, volume, form class, and height. Models are stored in a database or model file, e.g. in XML format. Table 1 illustrates the Norway Spruce Model, which may be commonly used in analysis of Appalachian regions: 
     
       
         
           
               
             
               
                 TABLE 1 
               
               
                   
               
             
            
               
                 &lt;xml&gt; 
               
               
                  &lt;modform version=“2.0” fileref=“19301_20011019_tile003.tif”&gt; 
               
               
                   &lt;modgroups&gt; 
               
               
                    &lt;mgroup name=“Models210801”&gt; 
               
               
                     &lt;mclass name=“IHC2906” diam=“HMA11” height=“HMA21” 
               
               
                 vol=“HMA31” color=“0”/&gt; 
               
               
                     &lt;mclass name=“ASH” diam=“ASH11” height=“ASH21” 
               
               
                 vol=“ASH31”/&gt; 
               
               
                     &lt;mclass name=“Cherry” diam=“Cherry11” 
               
               
                 height=“Cherry21” vol=“Cherry31” color=“80FFFF”/&gt; 
               
               
                     &lt;mclass name=“HMA” diam=“HMA11” height=“HMA21” 
               
               
                 vol=“HMA31” color=“4080FF”/&gt; 
               
               
                     &lt;mclass name=“Poplar” diam=“ASH11” height=“Poplar21” 
               
               
                 vol=“Poplar31” co1or=“80FFFF”/&gt; 
               
               
                     &lt;mclass name=“RedOak” diam=“Redoak11“ 
               
               
                 height=“Redoak21” vol=“Redoak31” color=“FF”/&gt; 
               
               
                     &lt;mclass name=“WhiteOak” diam=“Whiteoak11” 
               
               
                 heiqht=“Whiteoak21” vol=“Whiteoak31” color=“FFFFFF”/&gt; 
               
               
                     &lt;mclass name=“RMA” diam=“RMA11” height=“RMA21” 
               
               
                 vol=“RMA31” color=“800080”/&gt; 
               
               
                     &lt;mclass diam=“IHC2906” height=“IHCOoakHght” 
               
               
                 vol=“IHCHeight” name=“” color=“0”/&gt; 
               
               
                   &lt;/mgroup&gt; 
               
               
                  &lt;/modgroups&gt; 
               
               
                  &lt;models&gt; 
               
               
                   &lt;diameter&gt; 
               
               
                    &lt;model id=“1” name=“ASH11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“5.847”/&gt; 
               
               
                     &lt;param id=“2” val=“0.735”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Cherry11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“3.217”/&gt; 
               
               
                     &lt;param id=“2” val=“0.765”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“HMA11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“3.192”/&gt; 
               
               
                     &lt;param id=“2” val=“0.69”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“RMA11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“3.192”/&gt; 
               
               
                     &lt;param id=“2” val=“0.69”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Poplar11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“1.068”/&gt; 
               
               
                     &lt;param id=“2” val=“0.86”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Redoak11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“2.034”/&gt; 
               
               
                     &lt;param id=“2” val=“0.86”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Whiteoak11” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“3.523”/&gt; 
               
               
                     &lt;param id=“2” val=“0.79”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“IHC2906” formula=“Naeslund” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“1.651”/&gt; 
               
               
                     &lt;param id=“2” val=“0.2006”/&gt; 
               
               
                     &lt;param id=“3” val=“0.0000”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“IHCoak” formula=“Square Root-X” 
               
               
                 inpunit1=“ft2” outunit=“inch”&gt; 
               
               
                     &lt;param id=“1” val=“21.9397”/&gt; 
               
               
                     &lt;param id=“2” val=“3.1726”/&gt; 
               
               
                     &lt;param id=“3” val=“0.00000”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                   &lt;/diameter&gt; 
               
               
                   &lt;height&gt; 
               
               
                    &lt;model id=“1” name=“ASH21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“43.182”/&gt; 
               
               
                     &lt;param id=“2” val=“1.882”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Cherry21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“27.021”/&gt; 
               
               
                     &lt;param id=“2” val=“2.274”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“HMA21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“33.074”/&gt; 
               
               
                     &lt;param id=“2” val=“1.946”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“RMA21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“33.074”/&gt; 
               
               
                     &lt;param id=“2” val=“1.946”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Poplar21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“43.41”/&gt; 
               
               
                     &lt;param id=“2” val=“2.3”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Redoak21” formula=“Logarithmic-X” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“1.533”/&gt; 
               
               
                     &lt;param id=“2” val=“22.236”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“Whiteoak21” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“36.718”/&gt; 
               
               
                     &lt;param id=“2” val=“1.5”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“IHC2906” formula=“Linear” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“28.2382”/&gt; 
               
               
                     &lt;param id=“2” val=“1.5075”/&gt; 
               
               
                     &lt;param id=“3” val=“0.0000”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“1” name=“IHCOoakHght” formula=“Naeslund” 
               
               
                 inpunit1=“inch” outunit=“ft” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“2.7434”/&gt; 
               
               
                     &lt;param id=“2” val=“0.1947”/&gt; 
               
               
                     &lt;param id=“3“ val=“0.0000”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                   &lt;/height&gt; 
               
               
                   &lt;volume&gt; 
               
               
                    &lt;model id=“2” name=“ASH31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−16.058”/&gt; 
               
               
                     &lt;param id=“2” val=“1.5”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“Cherry31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.161”/&gt; 
               
               
                     &lt;param id=“2” val=“1.427”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“HMA31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.598”/&gt; 
               
               
                     &lt;param id=“2” val=“1.49”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“RMA31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.598”/&gt; 
               
               
                     &lt;param id=“2” val=“1.49”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“Poplar31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−16.037”/&gt; 
               
               
                     &lt;param id=“2” val=“1.575”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“Redoak31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.3”/&gt; 
               
               
                     &lt;param id=“2” val=“1.449”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“Whiteoak31” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.008”/&gt; 
               
               
                     &lt;param id=“2” val=“1.42”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“undefined” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−13.3”/&gt; 
               
               
                     &lt;param id=“2” val=“1.38”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                    &lt;model id=“2” name=“IHCHeight” formula=“Square Root-Y” 
               
               
                 inpunit1=“inch” inpunit2=“ft” outunit=“bf” xmin1=“3”&gt; 
               
               
                     &lt;param id=“1” val=“−0.8110”/&gt; 
               
               
                     &lt;param id=“2” val=“0.0525”/&gt; 
               
               
                     &lt;param id=“3” val=“0.0000”/&gt; 
               
               
                    &lt;/model&gt; 
               
               
                   &lt;/volume&gt; 
               
               
                  &lt;/models&gt; 
               
               
                  &lt;formulas&gt; 
               
               
                   &lt;formula id=“1” name=“Naeslund”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;div&gt; 
               
               
                      &lt;mul&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/mul&gt; 
               
               
                      &lt;mul&gt; 
               
               
                       &lt;add&gt; 
               
               
                        &lt;coeff inx=“1”/&gt; 
               
               
                        &lt;mul&gt; 
               
               
                         &lt;coeff inx=“2”/&gt; 
               
               
                         &lt;var inx=“1”/&gt; 
               
               
                        &lt;/mul&gt; 
               
               
                       &lt;/add&gt; 
               
               
                       &lt;add&gt; 
               
               
                        &lt;coeff inx=“1”/&gt; 
               
               
                        &lt;mul&gt; 
               
               
                         &lt;coeff inx=“2”/&gt; 
               
               
                         &lt;var inx=“1”/&gt; 
               
               
                        &lt;/mul&gt; 
               
               
                       &lt;/add&gt; 
               
               
                      &lt;/mul&gt; 
               
               
                     &lt;/div&gt; 
               
               
                     &lt;coeff inx=“3”/&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“2” name=“sqrtLinear”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;sqrt&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/sqrt&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                     &lt;coeff inx=“2”/&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“2” name=“Laasasenaho2”&gt; 
               
               
                    &lt;mul&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;pow&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                     &lt;/pow&gt; 
               
               
                     &lt;pow&gt; 
               
               
                      &lt;coeff inx=“3”/&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                     &lt;/pow&gt; 
               
               
                     &lt;pow&gt; 
               
               
                      &lt;var inx=“2”/&gt; 
               
               
                      &lt;coeff inx=“4”/&gt; 
               
               
                     &lt;/pow&gt; 
               
               
                     &lt;pow&gt; 
               
               
                      &lt;add&gt; 
               
               
                       &lt;var inx=“2”/&gt; 
               
               
                       &lt;coeff inx=“6”/&gt; 
               
               
                      &lt;/add&gt; 
               
               
                      &lt;coeff inx=“5”/&gt; 
               
               
                     &lt;/pow&gt; 
               
               
                    &lt;/mul&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Linear”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Multiplicative”&gt; 
               
               
                    &lt;mul&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;pow&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                     &lt;/pow&gt; 
               
               
                    &lt;/mul&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Reciprocal-Y”&gt; 
               
               
                    &lt;inv&gt; 
               
               
                     &lt;add&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;mul&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                       &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;/mul&gt; 
               
               
                     &lt;/add&gt; 
               
               
                    &lt;/inv&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Exponential”&gt; 
               
               
                    &lt;exp&gt; 
               
               
                     &lt;add&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;mul&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                       &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;/mul&gt; 
               
               
                     &lt;/add&gt; 
               
               
                    &lt;/exp&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Reciprocal-X”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;div&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                     &lt;/div&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Logarithmic-X”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;log&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/log&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Square Root-X”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;coeff inx=“1”/&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;sqrt&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/sqrt&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Square Root-Y”&gt; 
               
               
                    &lt;pow2&gt; 
               
               
                     &lt;add&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;mul&gt; 
               
               
                       &lt;coeff inx=“2”/&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/mul&gt; 
               
               
                     &lt;/add&gt; 
               
               
                    &lt;/pow2&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“2-Reciprocal”&gt; 
               
               
                    &lt;inv&gt; 
               
               
                     &lt;add&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;div&gt; 
               
               
                       &lt;coeff inx=“2”/&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/div&gt; 
               
               
                     &lt;/add&gt; 
               
               
                    &lt;/inv&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“S-Curve”&gt; 
               
               
                    &lt;exp&gt; 
               
               
                     &lt;add&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;div&gt; 
               
               
                       &lt;coeff inx=“2”/&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/div&gt; 
               
               
                     &lt;/add&gt; 
               
               
                    &lt;/exp&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                   &lt;formula id=“1” name=“Polynomical”&gt; 
               
               
                    &lt;add&gt; 
               
               
                     &lt;coeff inx=“3”/&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;coeff inx=“1”/&gt; 
               
               
                      &lt;var inx=“1”/&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                     &lt;mul&gt; 
               
               
                      &lt;coeff inx=“2”/&gt; 
               
               
                      &lt;pow2&gt; 
               
               
                       &lt;var inx=“1”/&gt; 
               
               
                      &lt;/pow2&gt; 
               
               
                     &lt;/mul&gt; 
               
               
                    &lt;/add&gt; 
               
               
                   &lt;/formula&gt; 
               
               
                  &lt;/formulas&gt; 
               
               
                 &lt;/modform&gt; 
               
               
                   
               
            
           
         
       
     
     Any model that is commonly known in the art may be used to generate species specific data based on tree crown area. Examples of models commonly known in the art include Naeslund and Laasasenaho2. 
     Any variable may be included in the model, including but not limited to species, DBH, form class, tree quality or value. Models may be updated and altered depending on the species and region, and new models incorporated at any time into the model database. 
     Referring now to  FIG. 15 , according to one embodiment of the present invention, the user selects a crown vector file for analysis  71 , calculates the crown size for each tree  72 , and selects an appropriate data model  73  that most closely represents the species depicted in the crown vector file and geographic location of the original input image. Using the model, each tree&#39;s DBH is calculated based on crown size  74 . Additional aggregate tree stand and individual tree data is thereafter calculated, such as height and volume based on DBH  75 , total breast height diameter distribution of trees, tree height distribution, tree stem number, tree stem number per hectare, total tree stem volume, and histogram distribution of trees by species, such histogram which can be adjusted by putting upper and lower limits on tree stem size  76 . The reported data is displayed on ordinary display means, as illustrated in  FIG. 16 . Examples of physical data calculations are:
 
Diameter breast height=(6.043*sqrt( A ))+1.283;
 
Tree Height= div (( A*A ),((2.09000+(0.14050* A ))*(2.09000+(0.14050* A ))))+1.30000;
 
Stem Volume=0.000022927* pow ( A, 1.91505)* pow (0.99146, A )* pow ( B, 2.82541)* pow (( B− 1.3),−1.53547);
 
where A=tree crown area.
 
     According to another embodiment of the present invention, batch modeling of delineated and classified features is performed using pre-selected models. 
     As indicated in  FIG. 15 , the resulting data is stored in vector file format. Preferably, the aggregate stand data is stored on the stand attribute table that is associated with the stand vector file generated according to the stand segmentation aspect of the current invention  78 . 
     Additionally, the tree data may be stored on the attribute table in the crown vector file  77 . According to one embodiment of the present method, statistical information is also generated based on the modeling results, which includes, but is not limited to valuation of timber, estimation of property values based on public tax and terrain slope information, over or under-valuation of property by comparing market value to timber valuation, and estimation of vegetation growth rates and agricultural production. For example, the value of timber in a particular tree stand is calculated using the tree stem volume calculated from crown area, and public market value information based on species. Total volume of species used for this determination can be limited depending on the size of the tree as specified by the user. The market value may be obtained from public information or may be user input. 
     Another example of valuation information that can be generated from a digital image is orchard output. For example, where crown areas are captured from a digital image of a grove of orange trees, an estimate of the oranges produced by the individual trees can be calculated, e.g., by applying an empirically based statistical classification model where crown areas of area A 1  produce O1 oranges, A2 produce O2 oranges, where A(x) is a range of areas, and O(x) is average orange production for areas A(x). 
     Statistical data is stored in the corresponding crown and/or stand vector file  77 ,  78  as indicated in  FIG. 15 , and can be displayed by ordinary display means. 
     It is recognized that the scope of the present invention includes application of the current method to other empirical models that are based on species data, such as fruit and juice production from fruit baring trees, carbon production, etc and that the present method is not limited to any specific embodiment presented herein. 
     EXAMPLE 1 
     A 2 foot digital ortho-rectified, color-balanced image in TIFF format was taken of a 12 square mile forested area in Nicholas County, West Virginia. The image was taken in RGB true color, and was taken in the fall when leaves are in senescence. Stand segmentation was performed using seeded region growing. Tree crowns were captured using segmentation, and filtering parameters used to eliminate undesirable details were a prefilter value of 4, a seed threshold of 90, and a cut ratio of 90. Species were classified according to supervised classification based on the teaching method. Three trees were selected per species. Three species were selected and identified using nearest neighborhood classification: poplar, red maple and red oak. 
     For data analysis, a model was selected for each of the three species based on data from 200 field measurements of different sized trees in Pennsylvania. The resulting data was displayed and is illustrated in  FIG. 16 . 
     EXAMPLE 2 
     A stand area of 24 acres was selected south of Dugway Rd, in Madison County, New York, Tax Map Number 148.-1-7. Low level segmentation was performed to delineate tree crowns, and species classification and tree crown data analysis were performed to determine tree species and total tree stem volume in board-feet. A total of 93,402 board-feet was calculated based on only trees of DBH greater than 12 inches. Trees with DBH greater than 25 in. were not used in the data analysis. 
     Species classification resulted in 85% Hard Maple, 13% undefined, and 2% Cherry. The Norway Spruce Model was selected based on the species present in the image. The following table illustrates a breakdown of tree stem volume based on the total number of trees per DBH: 
     
       
         
           
               
               
               
               
             
               
                   
               
               
                 DBH (in.) 
                 Tree Count 
                 Total Volume/DBH (Bf) 
                   
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                 &lt;12 
                 0 
                 0 
               
               
                 12 
                 154 
                 2952 
               
               
                 13 
                 167 
                 5504 
               
               
                 14–15 
                 293 
                 18374 
               
               
                 16–17 
                 197 
                 23001 
               
               
                 18–19 
                 107 
                 19339 
               
               
                 20–21 
                 63 
                 16496 
               
               
                 22–23 
                 18 
                 5860 
               
               
                 24–25 
                 5 
                 1876 
               
               
                   
               
            
           
         
       
     
     EXAMPLE 3 
     A stand area of 18 acres was selected in Madison County, NY, East of Cazenoia, Moraine Road, Tax Map Number 96-2-1. Low level segmentation was performed to delineate tree crowns, and species classification and tree crown data analysis were performed to determine tree species and total tree stem volume in board-feet. A total of 25,629 board-feet was calculated based on only trees of DBH greater than 14 inches. 
     Species classification resulted in 45% Hard Maple, 15% Cherry, 4% Red Maple, and 36% undefined. The Norway Spruce Model was selected based on the species present in the image. The following table illustrates a breakdown of tree stem volume based on the total number of trees per DBH: 
     
       
         
           
               
               
               
               
             
               
                   
               
               
                 DBH (in.) 
                 Tree Count 
                 Total Volume/DBH (Bf) 
                   
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                 14–15 
                 64 
                 9832 
               
               
                 16–17 
                 87 
                 10027 
               
               
                 18–19 
                 22 
                 4039 
               
               
                 20–21 
                 5 
                 1374 
               
               
                 22–23 
                 1 
                 357 
               
               
                 24–25 
                 0 
                 0 
               
               
                 26–27 
                 0 
                 0 
               
               
                 28–29 
                 0 
                 0 
               
               
                 30–31 
                 0 
                 0 
               
               
                 32–33 
                 0 
                 0 
               
               
                 34+ 
                 0 
                 0 
               
               
                   
               
            
           
         
       
     
     Timber value was then calculated using the total tree stem volume per species in Doyle and stump prices per 1000 Doyle. The following table illustrates the valuation data generated using the present method: 
     
       
         
           
               
               
               
               
               
             
               
                   
                   
               
               
                   
                   
                 Volume 
                 Stump Price (per 
                 Timber 
               
               
                   
                 Species 
                 (Doyle) 
                 1000 Doyle) 
                 Value 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
               
               
               
            
               
                   
                 Hard Maple 
                 11,533 
                 $629.00 
                 $7,254.26 
               
               
                   
                 Cherry 
                 3,844 
                 $2,234.00 
                 $8,587.50 
               
               
                   
                 Red Maple 
                 1,025 
                 $309.00 
                 $316.73 
               
               
                   
                 Other 
                 9,226 
                 $131.00 
                 $1,208.61 
               
               
                   
                 TOTAL 
                 25,628 
                   
                 $17,367.08 
               
               
                   
                   
               
            
           
         
       
     
     The foregoing illustrations of embodiments of the present invention are offered for the purposes of illustration and not limitation. It will be readily apparent to those skilled in the art that the embodiments described herein may be modified or revised in various ways without departing from the spirit and scope of the invention. The scope of the invention is to be measured by the appended claims.