The present invention applies generally to the classification of vessels that have been detected by satellites. More specifically, some embodiments of the invention pertain to the processing of satellite vessel imagery to automatically classify detected vessels using characteristic information such as length, width and deck structures, according to a predetermined algorithm.
Classification of satellite imagery of vessels is currently a manual process that requires a human analyst trained to recognize primary physical features unique to each ship type. Traditional classification methods identify vessels based on appearance group, hull type, and upright sequence. An analyst examines characteristic features such as the size, shape, and location of superstructure, the shape of the hull, the number and location of islands, and the location of upright devices and machinery as these characteristics appear in the vessel profile. The observed sequence of features is compared to a set of known vessel silhouettes to identify the vessel class.
The comparison method of classification described above requires analysts to memorize an entire library of vessel silhouettes in order for classification to be completed effectively and accurately. With this method, classification can only be completed manually, and only by highly skilled analysts. In addition, the process of classification is not automated; in certain situations, it may be desirable to classify vessels very quickly, for example in a harbor or congested port where many vessels are present. In a congested port or chokepoint, an analyst may be unable to accurately identify vessels of interest as quickly as the mission requires.
Furthermore, features and ship silhouettes used for traditional vessel classification present a side-profile view, which does not easily translate to features that are visible in a top plan view, such as those features extracted from overhead commercial imagery. Stated differently, characteristic appearance information such as hull shape and upright sequence, which is typically used to classify vessels, is not easily extracted from overhead commercial imagery. As a result, an analyst presented with satellite imagery of vessels will most likely not be able to employ traditional methods to accurately classify each ship. What is desired is a new method for classifying vessels using features extracted from overhead imagery, which will allow analysts to quickly and effectively classify vessels in situations where traditional methods are inapplicable.
In view of the above, one object of the present invention is to provide an automated image classification system and method that effectively classifies vessels using an input from satellite overhead imagery. Another object of the present invention is to provide an automated image classification system and method that can classify vessels with greater speed and throughput than prior art manual systems. Yet another object of the present invention is to provide an automated image classification system and method that can function to classify vessels without requiring a dedicated analyst. Still another object of the present invention is to provide an automated image classification system and method that uses a top plan view of the vessel deck instead of a side elevational view of a vessel hull and superstructure profile to classify a vessel. These and other advantages of the invention, as well as additional inventive features, will be apparent from the description of the invention provided herein.
Methods for processing an overhead image of a vessel according to several embodiments of the present invention can include the step of determining an initial classification and an initial classification probability for the vessel based on the vessel length and length-to-width ratio. The initial classification probability can be determined by comparing the vessel length and length-to-width ratio to length and ratios of other known vessels using publicly available registries of vessel data, or other databases. The initial classifications can include general cargo, tanker, passenger ship, bulk carrier, fishing vessel, service ship, research ship and miscellaneous categories.
The systems and methods of the present invention can further include the step, or a processor that accomplishes the step, of extracting deck features from the satellite image of the vessel. The present invention takes advantage of the fact that certain deck feature of vessels tend to be mutually exclusive. For several embodiments, the deck features that are extracted are spherical tanks, hatches and containers that are stored on deck. The initial classification probability is then weighted using the results of the feature extraction step, to yield a posterior classification probability for the ship image.
If the posterior classification probability is above a predetermined value, the image is assigned is assigned a posterior classification. If the posterior probability is below the predetermined value, the image of the vessel is classified as unknown, and the gross tonnage of the vessel is calculated using the length and width of the vessel.
The novel features of the present invention will be best understood from the accompanying drawings, taken in conjunction with the accompanying description, in which similarly-referenced characters refer to similarly referenced parts, and in which:
Referring initially to
Referring now to
As shown in
As an initial check on the analysis, it should be appreciated that the largest ship length that is publicly known is almost five hundred meters (458.45 m) and the largest known ship width is 70 m. Further, in most detection software, a vessel's wake is not easily separated from the ship itself and is included in the measurement of length and width. This leads to inflated object sizes that will not compare to expected ship dimensions. In some instances, this can lead to an inaccurate classification of the vessel type and could possibly influence operational actions taken.
To avoid mis-classification of a vessel based on excessive length estimates as much as possible, and as shown in
Assign classification probability step 202 can also include the step of dividing the provided database into a predetermined number of classifications, in indicated by step 306 in
As shown by step 308 in
As indicated by
Where x is the two-dimensional feature vector x=(length, ratio) and the mean and covariances are based on iterative analysis of the vessel database. The mean, μ, is a 2×8 matrix of the mean of ratio and length (columns) for each vessel type (rows). The covariance matrix, Σ (ratio, length), is a 2×2×8 matrix. Each of the eight 2×2 sub-matrices correspond to a vessel type. Within these sub-matrices, the diagonal elements are the variances of ratio and length for the vessel type and the non-diagonal elements are the covariance of ratio and length for the vessel type. The mean and covariance matrices used for the methods according to several embodiments are:
Each probability, p(x|ti), is the likelihood that a vessel with the extracted features will be in that vessel type. A vessel is classified into a type t if type t is more likely than any other type based on the estimated probabilities. That is, the vessel as assigned an initial classification type i based on its length and ratio if:
p(x|ti)≧p(x|tj) for all i≠j. (2)
Once the vessel image is assigned an initial classification probability pi, and referring back to
As shown in
As mentioned above, the systems and methods according to several embodiments of the invention identify the presence or absence of spherical tanks on deck, as shown by step 602. One way to accomplish this step is by using an image processing vision library. One such algorithm is the OpenCV library, which is publicly available and which was leveraged in several embodiments of the invention.
The vessel image 106 is first smoothed to help reduce false detection of circles. OpenCV's cvHoughCircles function can be used to identify the centers of the circles. Identified circles with radii of between 25 and 35 pixels are kept for consideration. A linear least squares line fit is found using the center of each circle. The residual error is then computed for the fit. The residual is the difference between the centers of the circles and the linear least squares line fit. If the residual error of the line fitting is less than 1, with at least 5 circles detected, the vessel is identified as having spherical tanks on deck.
As shown by step 604 in
To accomplish 604, image 106 is run through OpenCV's square detector program. The square detector applies two image processing methods to transform the grayscale image of the detected object and produce a binary image output. The detector employs cvCanny once and cvThreshold ten times using the image 106 pixel mean and standard deviation as parameters to complete the transformation. The binary output from the transformation can be sent to cvFindContours, which uses the CV_RETR_CCOMP mode of the openCV algorithm to find rectangles in the image. The rectangles detected are required to be: (1) between 35 and 1000 pixels in area and (2) within 0.2 radians of π/2 in order to be counted as a positively identified rectangle.
The square detector may classify one hatch as multiple rectangles (i.e. count it multiple times). After detecting the squares, the center of the square (or group of squares) can be used to determine the linear least squares line fit. The residual error is then computed. If at least five separate rectangles are found and the residual is less than one, then vessel 104 is identified as having hatches on deck.
If image 106 does not have either spherical tanks of hatches on deck, and as shown by step 606 in
After identifying the linear edges in the image, the algorithm searches for the characteristic shapes of cargo containers. Cargo containers are typically arranged side-by-side and oriented lengthwise along the length of the vessel. The methods according to several embodiments can seek to identify the distinctive “ladder” patterns that are formed by the edges of the containers in the Hough transformed image shown
The “shrinking window” method begins by setting the image in the first quadrant of an x-y plane. Beginning with the left-most vertical line (V1), indicated by line 1202 in
Lines 1202 and 1204 and each pair of these horizontal line segments (lines 1206, 1208 and 1210) form the boundaries of rectangular boxes. The pixel-distance, Dh, between each consecutive pair of horizontal lines is compared to the pixel distance, Dv, between V1 and V2. The ratio Dv/Dh is compared to the length/width ratios for known container types.
This process is iterated towards the right side of the image, and V1 (1202) is tested against vertical lines with successively greater x values. Having tested for “rungs” between V1 and V2 (lines 1202 and 1204), the algorithm removes from further consideration the range of y-values from V1 (line 1202) that were overlapped by V2 (1204). This prevents the inclusion as “rungs” of other horizontal lines that cross V2 (1204). In this way, the algorithm shrinks, and possibly divides, the vertical range of V1 (1202) against which to test the next vertical line, and the “window” of available y-values “shrinks” with successive iterations.
After comparing line 1202 (V1) to all other vertical lines to the right, the algorithm repeats the process using line 1204 (V2). Vertical line segments that share the same x-value can be common, and they are run through the algorithm in the order that they are output by the Hough transform.
If the total number of correctly-proportioned “rung-ladder” boxes is at least 2, the object in the image is run through OpenCV's square detector program. The process that follows is the same as the process used for identification of hatches that is described above. Like before, the square detector takes in the grayscale image of the ship and employs cvThreshold and cvCanny, using the image's pixel mean and standard deviation as parameters, to transform the image. The binary output from the transformation is sent to cvFindContours, a function of OpenCV which uses the CV_RETR_CCOMP mode, to find rectangles in the image. The rectangles found are required to be between 35 and 1000 pixels in area, and the angles between the sides of each square must be within 0.2 radians of π/2. If more than five rectangles that meet these parameters are found, the vessel is identified as having cargo containers on deck.
Once deck features have been extracted form the vessel image 106 as described above, the methods according to several embodiments can include the step 206 determining a weighting factor Pi that is based on the presence (or absence) of the aforementioned predetermined deck feature in the overhead image 106 of vessel 102. Weighting factor Pi make the classification output 110 more accurate by weighting the initial classification probability pi to reflecting the relative frequency that vessels of various types occur. Stated differently, if the eight vessel types occur with frequencies P1, P2, . . . , P8, the minimum error rate classifier is obtained by weighting pi with the Pi's. As a result, a vessel with feature data x is classified as being from type i if
p(x|ti)Pi≧p(x|tj)Pj for all i≠j. (3)
In several embodiments, the weighting factor Pi can reflect a combination of factors: 1) Number of vessels of that type in the database used for analysis (weighted prior); 2) Uniform prior—giving equal weight to all vessel types; 3) Discrete probability of vessel type within a range of vessel lengths; 4) Discrete probability of containers in each of the vessel types; 5) Discrete probability of hatches in each of the vessel types; and, 6) Discrete probability of spherical tanks in each of the vessel types.
After searching for all three mutually exclusive deck features, If spherical tanks are identified, c=1, if hatches are identified from step 204, h=1, and if cargo containers are identified, g=1. If one of the three mutually exclusive deck features is confidently identified, the Pi is:
Based on results from analysis of vessel data from the vessel database, these prior probabilities Pi can be specified as:
If none of the three mutually exclusive deck features is confidently identified in vessel image 106, the prior weighting factor P(ti) can be determined by Equation (5):
P(ti)=priori=0.5priorIQRi+0.3priorWeightedi+0.2priorUniformi (5)
In Equation (5), the priorUniform variable is a uniform probability that assumes an equal amount of vessels in the database for each classification type, and the priorWeighted variable describes the relative frequency each category from the vessel database appears. The priorIQR variable is the discrete probability of vessel type within a range of vessel lengths. Based on results from analysis of the vessel database, these probability calculations are based on comparison to interquartile data range statistics for the tanker category of vessels. The distribution of the tanker category vessel lengths was determined to be a good source for comparison to normalize the prior probabilities assigned (although any of the other vessel categories could be chosen for normalization, if desired). In any case, the length of the vessel image 106 is compared to the tanker category lower quartile length, tanker category median length, and tanker category upper quartile length to determine the priorIQR value. The length of vessel image 106 will be in one of four ranges: (1) vessel image length is less than or equal to tanker Lower Quartile Length; (2) vessel image length is greater than tanker Lower Quartile Length and vessel image length is less than or equal to tanker Median Length; (3) vessel image length is greater than tanker Median Length and vessel image length is less than or equal to tanker Upper Quartile Length; or, (4) vessel image length is greater than tanker Upper Quartile Length. The priorIQR is assigned based on which of the four ranges the vessel image length is in.
The priorIQR, priorWeighted, and priorUniform values are determined as follows:
Based on results from analysis of data from the vessel database, these prior probabilities are:
Once the weighting factor P(ti) is determined by Equation (4) or Equation (5) according to step 206, and referring back to
If one of the three mutually exclusive deck features (tanks, hatches, and containers) is identified on the vessel, this information is reflected in the ship type. For those vessels with tanks, the vessel type will include “Liquefied Gas Carrier” (ex: Tanker: Liquefied Gas Carrier) as this is the cargo that is carried in the spherical tanks. For those with containers, the vessel type will include “Container Ship” (ex: General Cargo: Container Ship) to indicate that containers were detected on deck. Similarly, those with hatches confidently identified, the vessel type will include “Hatches” (ex: Bulk Carrier: Hatches).
To further reduce the misclassification rate, and as shown by decision step 209 in
For those ships that cannot be confidently classified into one of the eight specific ship types, General Cargo Ship, Tanker, Passenger Ship, Bulk Carrier, Fishing Vessel, Service Ship, Research Ship, and Miscellaneous Small Vessel, an additional step 212 as shown in
A rough estimate of gross tonnage, which is related to the overall internal volume of a vessel, can be computed based on the length and width of a vessel detected in satellite imagery. The gross tonnage is a function of volume and a constant multiplier K:
GT=K×V (10)
Where GT=Gross Tonnage, K is a reduction factor (between 0.22 and 0.32) which varies depending on the vessel volume, and V is the total vessel volume. The total vessel volume is determined by multiplying the internal dimensions, the length, width, and height (depth), of all internal spaces. This value, V, can be approximated as a function of the observed vessel length, width and a constant C, where C represents the combined height of all internal spaces. Therefore, the gross tonnage can be re-written as a function of Length, Width, and constants K and C:
GT=K×V→GT=K×C×Length×Width (11)
The two constants K and C can be combined to form:
GT=M×Length×Width
M=K×C (12)
Length and Width are the length and width of the vessel in image 106. If the gross tonnage is estimated to be over 300 GT with at least ninety percent (90%) confidence, the vessel 104 can be classified “UNKNOWN—Over 300 GT”.
The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) is to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
This invention (Navy Case No. 099852) is assigned to the United States Government and is available for licensing for commercial purposes. Licensing and technical inquires may be directed to the Office of Research and Technical Applications, Space and Naval Warfare Systems Center, San Diego, Code 72120, San Diego, Calif. 92152; voice (619) 553-2778; email T2@spawar.navy.mil.
Number | Name | Date | Kind |
---|---|---|---|
4519041 | Fant et al. | May 1985 | A |
5122990 | Deines et al. | Jun 1992 | A |
5142658 | McMorran et al. | Aug 1992 | A |
5231401 | Kaman et al. | Jul 1993 | A |
5241314 | Keeler et al. | Aug 1993 | A |
5248978 | Manthy et al. | Sep 1993 | A |
5442358 | Keeler et al. | Aug 1995 | A |
7203599 | Strack et al. | Apr 2007 | B1 |
7221621 | Patterson et al. | May 2007 | B2 |
7298866 | Lee | Nov 2007 | B2 |
7541969 | Åkerstrom et al. | Jun 2009 | B2 |
7738707 | Wiedemann et al. | Jun 2010 | B2 |
7760941 | Bornemann et al. | Jul 2010 | B2 |
7796809 | Carder et al. | Sep 2010 | B1 |
7916935 | Larsen et al. | Mar 2011 | B2 |
8116522 | Buck et al. | Feb 2012 | B1 |
20020090121 | Schneider et al. | Jul 2002 | A1 |
20030185420 | Sefcik et al. | Oct 2003 | A1 |
20050069207 | Zakrzewski et al. | Mar 2005 | A1 |
20070035624 | Lubard et al. | Feb 2007 | A1 |
20080040083 | Odry et al. | Feb 2008 | A1 |
20080292146 | Breed et al. | Nov 2008 | A1 |
20090204880 | Ko | Aug 2009 | A1 |
20100002222 | Lubard et al. | Jan 2010 | A1 |
20100110198 | Larson et al. | May 2010 | A1 |
20100296709 | Ostrovsky-Berman et al. | Nov 2010 | A1 |