Methods and apparatuses for interactive similarity searching, retrieval, and browsing of video6774917Abstract Method for interactive selecting video consisting of training images from a video for a video similarity search and for displaying the results of the similarity search are disclosed. The user selects a time interval in the video as a query definition of training images for training an image class statistical model. Time intervals can be as short as one frame or consist of disjoint segments or shots. A statistical model of the image class defined by the training images is calculated on-the-fly from feature vectors extracted from transforms of the training images. For each frame in the video, a feature vector is extracted from the transform of the frame, and a similarity measure is calculated using the feature vector and the image class statistical model. The similarity measure is derived from the likelihood of a Gaussian model producing the frame. The similarity is then presented graphically, which allows the time structure of the video to be visualized and browsed. Similarity can be rapidly calculated for other video files as well, which enables content-based retrieval by example. A content-aware video browser featuring interactive similarity measurement is presented. A method for selecting training segments involves mouse click-and-drag operations over a time bar representing the duration of the video; similarity results are displayed as shades in the time bar. Another method involves selecting periodic frames of the video as endpoints for the training segment. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
TABLE 1
Shot Category Training Data Test Data
slides 16,113 12,969
longsw 9,102 5,273
longsb 6,183 5,208
crowd 3,488 1,806
figonw 3,894 1,806
figonb 5,754 1,003
not categorized 13,287 10,947
Total 57,821 39,047
The experiments demonstrate that a Gaussian classifier detects video frames from a particular class in the context of a longer video. This is used to segment shots, defined as a region of similar frames, from a longer video. This provides useful index points, for example the beginning of a shot containing slides. In the other direction, if shots have been already located, for example using frame or color differences, a shot model can easily be trained on all the frames from that shot. This allows shots to be retrieved by similarity, because the covariance captures differences caused by motion or other changes. Keyframes to represent a given shot are easily found by finding the frame closest to the shot mean, using a likelihood distance metric. Because the number of coefficients that represent an image is extremely modest (as small as 10 per frame for the principal component analysis features), one alternative is the storing of the features alongside the video with virtually no overhead, in comparison to the video data itself. Gaussian models are straightforward to compute so models are optionally trained on-the-fly. This enables applications like interactive video retrieval, where the user indicates the desired class, for example, by selecting a video region by dragging across the time bar. A model is rapidly trained on the features for this region, and the similarities corresponding to frames of a large video corpus are rapidly computed. Regions of high likelihood in the corpus are regions that match the selected video well, and serve as indexes into the corpus. To show the different model results without thresholding, a maximum-likelihood approach was used to classify labeled test frames. Table 2 below shows the results from using the 30 highest-variance discrete cosine transform coefficients. The class fig is a superset of the combined figonw and figonb classes. Each column is the ground-truth label of the test frames; the rows indicate the fraction of the samples in the test set that are recognized as the row class. Non-zero off-diagonal elements represent classification errors. Columns sum to 1 as every labeled frame has a maximum-likelihood class even if different from the label.
TABLE 2
slides longsw longsb crowd fig
slides 0.872 0.017 0.000 0.000 0.000
longsw 0.009 0.900 0.000 0.000 0.000
longsb 0.000 0.002 0.749 0.000 0.000
crowd 0.001 0.042 0.014 0.848 0.010
fig 0.118 0.039 0.237 0.152 0.990
FIG. 17 illustrates the fraction of slide frames correctly identified as slides and the fraction of non-slide frames incorrectly identified as slides as a function of the multiple of the standard deviation of the slide image class statistical model used as a threshold for determining similarity in a method for determining similarity according to the present invention. As an alternative embodiment, the threshold for determining similarity is general, for example, determined by the maximum likelihood of other class models. The x axis represents the predetermined multiple of the standard deviation and the y axis represents the fraction of frames identified as similar based upon that particular choice of the threshold. Plot 1701 shows the fraction of frames which were actually slides that were correctly identified as slides by the similarity method of the present invention. Plot 1702 represents the fraction of frames which were not actually slides that were incorrectly classified as slides according to the similarity method of the present invention. FIG. 17 demonstrates how a Gaussian model is used for classifying and segmenting video. Experiments on a corpus of staff meeting videos has shown that classes such as slides, speaker, and crowd are accurately recognized. MPEG-1 frames taken at 1/2-second intervals were decoded and reduced to 64.times.64 grayscale intensity sub-images. The resulting frame images were discrete cosine transform and Hadamard transform coded and the 100 coefficients with the highest average magnitude were selected as features. A diagonal-covariance Gaussian model was trained on 80 example slide frames and used to compute the probability of slide frames and titles in the unrelated test video. Thresholding the likelihood at a multiple of the standard deviation (from the covariance .vertline..SIGMA..vertline..sup.1/2) has been shown to be quite effective in detecting class membership. Such a threshold is also fairly independent of the number of coefficients used. FIG. 17 shows how the slide detection rate varies across different thresholds. The graph indicates that a threshold around 1.1 standard deviation results in an 84% correct slide recognition rate with few (9%) false positives. The likelihood, when normalized by the standard deviation, is useful by itself as an indication of a given frame's similarity to a class model. All classes have similar detection rates, however, the number of false positives varies among the different classes. Simple Gaussian models as above compute the average of the training images, and so lose any time-varying information associated with the image sequence. To capture dynamic information such as motion or sequence, models are optionally enhanced in a number of ways. By training models on the frame-to-frame difference or trend of the reduced features, time-varying effects such as motion or fades are modeled. FIG. 18 illustrates a method for determining similarity of a video frame using an image class statistical model according to the present invention. At step 1801, a feature vector is retrieved corresponding to the frame currently under analysis. At step 1802, the mean feature vector corresponding to the image class statistical model is retrieved. At step 1803, a difference vector representing the subtraction of the mean feature vector from the feature vector is computed. At step 1804, the magnitude of the difference vector is compared to the predetermined multiple of the standard deviation of the image class statistical model. If the magnitude of the difference is less than the predetermined multiple of the standard deviation, then step 1805 classifies the frame as similar. If the magnitude is not less than the multiple of the standard deviation, then step 1806 classifies the frame as nonsimilar. It should be noted that the method of determining similarity illustrated in FIG. 18 does not require the actual probability computation using the Gaussian formula. Instead, the magnitudes of the difference vector and the standard deviation are computed as euclidean distances. The magnitude of the difference vector is computed by the square root of the sum of the squares of its d entries. The standard deviation of the image class is computed as the square root of the sum of the diagonal elements of the diagonal covariance matrix. FIG. 19 illustrates a display of the logarithm of the probability of the video image class statistical model producing the various frames of the video according to the present invention. Because logarithm is a monotonic function, logarithm of probabilities are compared in the same way that the probabilities are compared to determine more or less similarity. FIG. 19 shows the log-likelihood of a Gaussian model trained on slide images across the test video lasting nearly an hour. The "ground truth" indicating when a slide was actually shown in the video is shown as a wide bar near the top. Clearly, the log-likelihood is a good indication of when a slide is being shown on the video. Thresholding the log-likelihood at one standard deviation (computed from the covariance matrix .SIGMA..sub.c) has shown to be quite effective in classifying individual frames. Thresholding the likelihood at a multiple of the standard deviation (computed from the covariance) has shown to be quite effective in detecting class membership. Such a threshold is also fairly independent of the number of coefficients used. The similarity between any particular frame or video segment of frames and the image class is calculated according to the present invention. For a Gaussian model, the similarity measure of a given frame is the likelihood, alternatively in the log domain. A Gaussian model can also be used to segment video by finding those frames when the similarity measure crosses a given threshold, which serve as segment boundaries. In the absence of a duration model, ad-hoc rules can improve segmentation like requiring a minimum segment length. FIG. 20 illustrates a method for displaying a logarithm of the probability of the video image class statistical model producing the various frames of video according to the present invention. At step 2001, the probability of a frame being produced by an image class statistical model is computed using the Gaussian formula. At step 2002, the logarithm of the probability is computed. At step 2003, the logarithm of the probability is displayed in a manner such as shown in FIG. 19. At test 2004, if there are more frames then branch 2006 takes the method back to step 2001, and if there are no more frames, then the method is done at step 2005. FIG. 21 illustrates the fraction of frames correctly classified as a function of the number d of entries in the feature set, the type of transform applied to the frames, and the method for selection of the d entry feature set. FIG. 21 shows that for both the discrete cosine transform and the Hadamard transform, that the accuracy of the correct classification generally increases as the number of transform coefficients as the feature set increases. The downward sloping portions of the traces 2101, 2102, and 2103 are a result of the fact that there were not enough training frames in the training set for each class to justify a feature set having such high numbers of coefficient positions. In other words, the downward sloping portions of traces 2101, 2102, and 2103 indicate learning of the actual data points in the feature vectors of the training frames rather than learning of the Gaussian distribution from which the feature vectors are reasonably modeled as coming from. In order to learn the distribution, the number of training frames must be significantly larger than the number of transform coefficients in the feature set. This demonstrates that having a feature set of 100 or less transform coefficient positions is not only computationally less expensive, but also more effective than larger feature sets given the number of training frames which were available. To determine the influence of the number of transform coefficients for the different transform methods, the overall correctness, i.e., the fraction of samples that were recognized in the correct category is computed. FIG. 21 shows the results. It is interesting to note that the recognition distribution for the principal components of the discrete cosine transform and Hadamard transform is virtually identical. The best performance (87% correct) was achieved using 10 principal components. Without principal component analysis, variance-ranked discrete cosine transform coefficients peak at 30 whereas Hadamard transform coefficients achieve a slightly higher accuracy at 300. Though the Hadamard transform is often criticized for not preserving perceptual features as well as the discrete cosine transform, it appears to be somewhat superior here, because the rectilinear Hadamard transform basis functions match image features (such as slides or walls) better than the sinusoidal discrete cosine transform bases. FIG. 22 illustrates a browser displaying regions of a video found to be similar to slides according to the methods of the present invention. The browser 2200 includes a time bar 2201 which illustrates in black vertical bars time intervals within the video which consists of frames determined to be similar to the slide video image class. An application that uses video classification to help users find interesting passages in video has been developed according to the present invention. It is not simple to determine whether a long video contains desired information without watching it in its entirety. An intelligent media browser allows fine-grained access to video by taking advantage of the metadata extracted from the video, such as shown in FIG. 22. A confidence score for a particular video is displayed graphically on a time bar. The confidence score gives valuable cues to interesting regions in the source stream by using the time axis for random-access into the source media stream. For example, the normalized log-likelihood of the slide model is displayed on the time bar of FIG. 22. Two areas of high likelihood (confidence) are visible as the grey or black regions; these correspond to slide images in the video. Selecting a point or region on the time axis starts media playback from the corresponding time. Thus time intervals of high potential interest are visually identified from the confidence display and easily reviewed without a linear search. FIG. 23 illustrates a class transition diagram corresponding to a hidden Markov model to be used in the method for classifying a video according to the present invention. Each of the image classes G, A, and B, are modeled using Gaussian distributions. The transition probabilities for staying in the same class or transitioning to another class are illustrated beside the transition arrows. Hidden Markov models are capable of explicitly modeling duration and sequence of video segments according to the present invention. In a simple implementation, one state of a two-state hidden Markov model models the desired class and the other state models everything else (the "garbage" model). A multiple-state hidden Markov model is created using these Gaussian models, by connecting them in parallel and adding transition penalties along the arcs. FIG. 23 shows such a model where the state G is the garbage model and states A and B model the desired video class. (The diagrammed sequence implies that the video class has two distinct components, A and B, and that A occurs before B. Many other model sequences are possible.) The maximum-likelihood hidden Markov model alignment to the video is determined using the Viterbi algorithm. This results in a segmentation of the video into segments that are similar to the example and those that are not similar. In addition, the likelihood of any particular state generating the observed video is optionally determined for any particular frame, giving a useful similarity measure for exploitation in searching, ranking, or browsing. FIG. 23 shows how a single Gaussian model with a likelihood threshold can segment similar shots from a longer video. Using different shot models can segment different shots, using a likelihood ratio or maximum-likelihood, optionally with a threshold to reject shots that fit no model well. Different shots are compared by comparing their Gaussian models, using a variety of alternative metrics. The hidden Markov model output distribution for the query state is alternatively modeled as single or multiple Gaussian on the coefficient features, exactly as described for the Gaussian models above. Multiple states, optionally connected ergodically (fully), are used to model a segment as well as multiple mixture Gaussians. The output distribution for the garbage state or states is also Gaussian. Its parameters are estimated from the video database and are stored in the system. The transition probabilities of remaining in the query and garbage states are estimated from example data or are optionally adjusted by the user, since the length of the query and length between occurrences of the query in the video are variable. An advantage of this approach is that the transition probabilities constrain most adjacent frames to the same state, thus reducing spurious segmentations or variations in similarity score. The hidden Markov model formulation is powerfully extended to capture video trends or sequences by using multiple states and a transition graph (analogous to a language model in speech recognition). Thus a hidden Markov model is optionally used to model, for example, the station-logo to anchor-shot transition that characterizes the start of a news broadcast. Referring to FIG. 23 in this example, state A models the station logo and state B the anchor shot. Because of the implicit sequence constraint in the hidden Markov model, this matches only A-to-B sequences and not B-to-A sequences or segments A or B in isolation, whereas a simple Gaussian model yields a high score for all. FIG. 24 illustrates a class transition probability matrix according to the present invention corresponding to the class transition diagram illustrated in FIG. 23. Rows of the class transition probability matrix 2400 represent classes of previous frames while columns of the matrix 2400 represent classes of the current frame. Each column of the class transition probability matrix 2400 is class transition probability vector associated with a particular current image class. Because the class transition diagram shown in FIG. 23 does not allow a transition from class G to class B for a subsequent frame, the entry 2401 in the matrix 2400 is zero. Similarly, because the class transition diagram 2300 does not allow the transitions from class B to class A, the entry 2402 of matrix 2400 is zero. FIG. 25 illustrates all possible class sequences corresponding to five consecutive initial video frames according to the class transition diagram illustrated in FIG. 23. Because the class transition diagram 2300 dictates that the sequence starts in class G, the class of the first frame is G indicated by box 2501 in FIG. 25. The second frame, however, is from either class G or from class A, indicated by boxes 2502 and 2503 respectively. If the second frame is in class A represented by box 2503, the third frame is from any of classes G, A, or B represented by boxes 2504, 2505, and 2506, respectively. The probability of a class is a function of the likelihood computed for that class, the previous class probabilities, and the class transition probabilities resulting in a transition to the class. The probabilities of each state are given by the following equations: ##EQU1## FIG. 26 illustrates a method of segmenting a video using a class transition probability matrix and image class statistical models according to the present invention. The method starts at step 2601. At step 2602, the most probable previous state corresponding to each possible current state is computed. These computations are done using the above equations for the example shown in FIG. 25. At step 2603, the likelihood of the current frame is computed for each possible current state using the Gaussian function corresponding to each image class. The computation at step 2603 is identical to the probabilities computed for example, in step 1204 of the method 1200 shown in FIG. 12. At step 2604, the current state probabilities corresponding to all possible states are computed using the results from steps 2603 and 2602. The computation of step 2604 is performed using the above equations. The computation at step 2602 uses equations 2, 4 and 6 in which the current state is assumed. The computation at step 2604 uses equations 1, 3, and 5 above. Tests 2605 determines if the end of the video has been reached, and if not, step 2606 advances the process to the next frame. If this is the last frame, then step 2605 delivers the method to step 2606, where the final state is chosen as the state having the highest total probability. After the final state is chosen, the most probable previous state is chosen in accordance with the previous evaluation of equations 2, 4, and 6 above. In other words, once the final state is known, all of the previous states are trivially determined by the computations already performed in step 2602. At step 2608, it is determined if there are more frames and if so, step 2609 delivers the previous frame to step 2607 for determination of the linkage back to the next previous state in accordance with the outcome already computed at steps 2602. If the first frame has been classified, the method is done at step 2610. For a hidden Markov model, the segmentation is achieved using the Viterbi algorithm to find the maximum likelihood state sequence. This gives the maximum-likelihood segmentation directly, as all frames aligned with a particular state or group of states are considered a segment. The structure of the hidden Markov model is particularly well suited to this task, as the alignment is computed over the entire video (rather than locally as is performed conventionally). The sequence and duration constraints implicit in the model effectively disallow errors such as single-frame segments which can result from classification errors of other approaches. The similarity between a given frame and the query is computed during the Viterbi algorithm as the posterior probability of the query state or states. Given the similarity measures, any collection of video is segmented and/or ranked by similarity to the query segment. This allows content-based retrieval by similarity from a large corpus of video. Simple Gaussian models as above compute the mean or average of the training frames, and so lose any time-varying information associated with the video sequence. To capture dynamic sequential information, models are optionally enhanced in a number of ways. By training models on the frame-to-frame difference or trend of the reduced features, time-varying effects such as motion or faxes are modeled. To find the similarity between video sequences, a correlation score is computed by summing the frame-by-frame inner product of the two sequences. Similar sequences have a large correlation. Dynamic programming is optionally used to find the best match between two sequences of dissimilar length. A superior technique according to the present invention of capturing dynamic events is a hidden Markov model, using Gaussian mixtures to model feature output probabilities, especially given the efficient training and recognition algorithms developed for speech recognition. The experiments presented here demonstrate that statistical models of transform coefficients rapidly classify video frames with low error rates. The computational simplicity and low storage requirements of this approach enable applications such as interactive video retrieval according to the present invention. In searching a video database for specific video segments, it is often easier to specify a query by providing an example rather than supplying a description of the type of video segment that is desired. For example, if a segment of video showing a crowd of people listening to a talk is desired, it is easier to simply present the system with a crowd segment as a search query. This is particularly true in searching a single video for segments that are similar to a selected segment. In addition to being easier for the user, retrieval by similarity is often more accurate, since it is easier to create a good model of the query from an example. Automatic video classification is useful for a wide variety of applications, for example, browsing, automatic segmentation, and content-based retrieval. Applications using automatic classification can support users in browsing and retrieving digitized video, for example, by retrieving videos showing a particular speaker or by highlighting areas with that speaker during video playback. Automatically-generated annotations can assist users in retrieving important information from videotaped meetings. Such tools can help users deal with large collections of videos in which they have to locate both a particular video and areas of interest within the particular video. For all those applications, a training collection of videos is labeled according to different video and audio classes and statistical models are trained on the labeled segments. The present invention including a statistical measure of video similarity, as well as applications that use the similarity measure to help navigate a video during a playback. According to the present invention, two different user interfaces for selecting regions in a video to be used for similarity matching are disclosed. The browser is designed to let a user explore the structure of a video, by selecting video regions and automatically finding similar regions. For example, when viewing a newscast, the user selects a region containing a shot of the anchor. The system then automatically detects similar regions, and both display them graphically and as automatic index points, so the user has the capability, for example, to jump directly to the next similar region without having to view the intervening matter. These indexes can then be saved and annotated for subsequent users. The similarity indexes can now be created interactively and on-the-fly. FIG. 27 illustrate the data flow in a method for performing a similarity search according to the present invention. Source video 2701 represents video from which a training segment is extracted. Transform features 2702 are extracted from a source video 2701 in the same way that transform features 208 in FIG. 2 were extracted from video file 201. Step 2703 represents the user selection of training regions for a collection of training frames. At step 2704, a Gaussian image class statistical model is trained by computing the mean feature vector and diagonal covariance matrix. Video 2705 represents a video targeted for searching for similarity. Again, transform features 2705 are extracted. Likelihood calculation is performed at step 2707 using the image class statistical model trained in step 2704 and the resulting probability is output on a frame by frame basis at step 2708. FIG. 27 shows a block diagram of how the system is used in practice. The user first performs a query by selecting a video segment or segments. The reduced discrete cosine transform or Hadamard transform coefficients of the query are obtained, either by computation on the fly, or by look-up in the database. The model for the query is then trained using these coefficients. In the simple case, a single Gaussian model is used. Reduced discrete cosine transform or Hadamard transform coefficients of video in the database are then presented to the system, and the likelihood calculations performed. This results in a sequence of similarity scores and a segmentation into similar and non-similar segments. The similarity scores are then displayed in a browser, allowing users to review similar video segments. Data for similarity calculation is obtained using either a discrete cosine transform or a Hadamard transform in the same manner described above in the description of FIG. 2. This representation is appropriate for measuring similarity, because frames of similar images have similar features. Similarity measures based on transform methods are superior for many applications than the more conventional color-histogram approaches. In particular, the transform coefficients represent the major shapes and textures in the image, unlike histograms, which are nearly invariant to shape. For example, two images with the same object at the top left and the bottom right have a very small histogram differences but are distinctively different in the transform domain used according to the present invention. Though the current similarity measure is based on the luminance only, it should be straightforward to extend this technique to use color, as discussed below. It is important to note that the kind of segmentation and modeling possible with this transform approach is relatively crude. For example, it is simple to discriminate between an anchor and a location shot in a news broadcast, though finer distinctions, such as identifying the particular anchor, may require more specialized data reduction or domain-specific models. However, these techniques alternatively serve as an important front-end or pre-classifier for more sophisticated methods, for example, selecting appropriate close-up scenes for further analysis by a computationally expensive face-identification algorithm, while rejecting crowd or nature scenes. FIG. 28 illustrates a method for computing a feature vector database corresponding to the video according to the present invention. In order to facilitate rapid likelihood calculations and rapid training of image class statistical models, it is desirable to precompute feature vectors corresponding to frames of video and store it in a feature database. At step 2801, a frame is transformed using a discrete cosine transform or Hadamard transform. At step 2802, the feature vector is extracted from the transform coefficient matrix. In step 2803, the feature vector is stored in a feature vector database. At test 2804, if there are more frames, then the next frame is delivered to step 2801, and if there are no more frames, then the method is done at step 2805. To estimate the similarity between video regions, the similarity of the video frames is disclosed. Each frame is transformed, using an orthonormal projection such as the discrete cosine transform or the Hadamard transform. If the transform is taken over the entire image, rather than sub-blocks, the coefficients represent the image exactly. The transformed data is then reduced using any number of techniques, for example truncation, principal component, or linear discriminant analysis, as described above. For the applications presented here, discarding all but the highest-variance coefficients works well. The reduced representation is highly compact and preserves the salient information of the original frames. Note that this is different from data compression, where the intent is to restore the original image. There is no need to invert the transformation process as it is assumed the original data is available for display and use. Thus, the transform method is optimized for analysis rather than compactness or image fidelity. The result is a compact feature vector or reduced coefficients (10-30 parameters) for each frame. This representation is appropriate for quantifying video similarity, because similar frames have similar transform coefficients. To model ensembles of similar images, such as contiguous frames from a particular shot, a Gaussian model is trained on the example frames. The mean of the Gaussian captures the average of the example frames, while the covariance models variation due to motion or lighting differences. A single-mixture Gaussian is optionally computed extremely rapidly in one pass over the example data, and models both the rough composition and variability of the example frames. For many applications, full video frame rate is not necessary, and frames are decimated in the time such that only a few frames per second need be transformed. These factors mean that storage costs are practically negligible and computation times are extremely rapid once the coefficients are computed. Thus the strategy used for real-time applications is to pre-compute the reduced coefficients and store them with the video to enable interactive and on-the-fly similarity measurement. Though future formats such as MPEG-7 allow including such metadata with the video data, for applications according to the currently preferred embodiment, coefficients are stored in separate files. FIG. 29 illustrates a method for interactively training a statistical model according to the present invention. At step 2901, the training frames or training segments are interactively selected by the user. At step 2902, the feature vectors corresponding to the training frames or segments selected in step 2901 are obtained either by direct computation or by lookup in a feature vector database. At step 2903, the image class statistical model is constructed by computing the mean feature vector and diagonal covariance matrix from the feature vectors corresponding to the training frames. One advantage of the transform domain is that the size of a feature vector representing a frame is extremely modest (as few as 10 per frame for PCA features). The query video training segment is modeled with a multidimensional Gaussian distribution parameterized by the mean vector and covariance matrix. In practice, it is common to assume a diagonal covariance matrix, so that zero correlation between features is assumed, and each feature is assumed to be an independent random variable having a Gaussian distribution. A diagonal covariance matrix, i.e., the off-diagonal elements are zero is assumed so that the model is robust in high dimensions. To model a class using Gaussian model, the mean and covariance across a set of training images is computed. The query training segment is used to compute the mean vector and covariance matrix. A similarity score is calculated for each frame in the video by computing the likelihood of the frame from the query image class statistical model. In an alternative, more sophisticated models use Gaussian mixtures and employ the expectation-maximization algorithm to estimate the multiple parameters and mixture weights, thus the multiple means, variances, and weighting coefficient associated with each multiple Gaussian model, though this requires iteration. For this reason, a single-mixture Gaussian model which is computed rapidly on the fly is assumed. Note that a single frame query is optionally used to generate a Gaussian model, by setting the mean to the coefficients of the frame and setting the variance to some values such as a constant or using the variance derived from some training set. Other frames or still images can then be scored for similarity: the constant variance yields a euclidean distance metric and the training variance yields a mahalonobis distance. Thus similar still frames or images are retrieved from a collection by ranking them by the distance measure. Another variation of this system according to the present invention is when the query model is trained on a group or class of images rather than conventional image retrieval systems which use only one image as a query. Once computed, the similarity of an arbitrary video frame is determined by the likelihood that the model produced the frame. Similar frames yield a high likelihood. This approach has yielded classification rates on the order of 90% for pre-defined video classes such as speakers and slides on a large corpus of meeting videos. Gaussian models can capture the characteristic composition and shape of an image class, while modeling the variation due to motion or lighting differences. Once the feature vectors have been computed, a number of applications are available. One of the simplest is a straightforward distance measure. Similar frames yield similar feature vectors, thus measuring the difference between feature vectors gives an indication of image difference. FIG. 30 illustrates a method for presenting a video frame and displaying a similarity measure within a browser according to the present invention. At step 3001, feature vector of a frame is retrieved. At step 3002, the probability of the feature vector being produced by the image class statistical model is computed. At step 3003, it is determined whether or not the probability is greater than a threshold. The threshold is interactively defined by the user as well. If the likelihood computed in step 2003 is greater than the threshold, then step 3004 indexes the frame as similar. If the likelihood is less than the threshold, the frame is indexed as nonsimilar at step 3005. At step 3006, the similarity attribute of similar or nonsimilar is graphically displayed in a browser for the frame. The similarity between any particular frame or video segment and the query segment is calculated. For a Gaussian model, the similarity of a given frame is the likelihood, alternatively in the log domain. A Gaussian model can also be used to segment video by finding those frames when the similarity crosses a given threshold, which serve as segment boundaries. In the absence of a duration model, ad-hoc rules like requiring a minimum segment length can improve segmentation. FIG. 31 illustrates an interactively defined training video segment, the inverse discrete cosine of the mean feature vector derived from the training frames of the training video segment, and the inverse Hadamard transform of the mean feature vector derived from the training frames of the training video segment according to the present invention. Frame 3101 represents the training images interactively defined by the user. Frame 3102 shows the inverse discrete cosine transform of the mean feature vector derived from the training images shown in frame 3101. Frame 3103 represents the inverse Hadamard transform corresponding to the mean feature vector derived from the training images shown frame 3101. It has been previously described herein an approach according to the present invention to locating regions of video similarity. An immediate application is described below, which presents a video browser using the similarity measure. FIG. 32 shows the user interface of one browser prototype. To the top left are the usual video playback window and controls. On the middle right are menu controls that select which similarity scores to display on the bottom time-bar. Similarity scores are displayed time-synchronously with the video slider bar. Dark regions are intervals of high similarity; where darker is more similar. The FIG. shows similarity to a medium-close shot of the speaker centered against a darker background, as in the displayed frame. The location and extent of similar shots are immediately apparent a black bars in the time line. The threshold slider at middle right controls how index points are derived from the similarity scores. Index points are shown as brighter bars in the upper region of dark (similar) regions in the time bar. (This primarily for the B/W reproduction herein: index points are determined when the similarity exceeds the threshold. The buttons labeled ".vertline.<<" and ">>.vertline." beneath the time bar automatically advance the playback point to the next or previous index point. In an area of large similarity variation (many index points), the user can select the most significant indication by increasing the threshold. In regions of lesser similarity, the user can still find index points by reducing the threshold, though they are less reliable. FIG. 32 illustrates a browser including a time bar for interactively defining a training video segment and for displaying similarity measure and including a threshold slider bar for receiving user threshold mouse input according to the present invention. Time bar 3201 shows segments of the video found to be similar as vertical black bars. Threshold slider bar 3202 receives user mouse input for designating a probability threshold required for the detection of similarity. Time bar 3201 is operable to receive user training mouse input by click and drag operations for example for designating training segments. FIG. 33 illustrates the browser of FIG. 32 further augmented with a scrollable window 3301 for displaying frames within a region of the video. Specifically, frames at and around the frame 3302 being displayed in the main browser window and indicated by a position of the time bar slider 3303 are displayed in the scrollable window 3301. While the Web-based interface provides a very good overview and is a good choice for labeling different classes in a whole video, it is particularly tailored for quick similarity searches while playing a video. Therefore, an augmented display that shows similar periodically sampled still images in a horizontally scrollable window (see bottom of FIG. 33) is optionally included according to the present invention. During playback, the window scrolls automatically to stay synchronized with the playback window. Temporal context is shown by placing the still image closest to the frame shown in the playback window in the center of the scrollable window. When the video is stopped, the still images are used for navigation. Scrolling to an interesting area and double-clicking on a still image positions the video at the corresponding time. Intervals for a similarity search are selected by dragging the mouse over the still images. Selected areas are indicated by a light green bar both in the scrollable window and at the bottom of the time bar. Because only a small portion of the video is shown at a time in the scrollable window, the selected area shown is much larger. In FIG. 33, the selected area displayed in the scrollable window corresponds to the very small area directly below the thumb of the slider. Furthermore, a problem with video, as with any time-dependent media, is that it is not always obvious just what has been selected without playing it back. To create a similarity index, the example video must first be selected. One interface is to simply click-and-drag over the time bar of FIGS. 32 and 33 to select a region of video. A problem with video, as with any time-dependent media, is that it is not always obvious just what has been selected without playing it back. For the similarity measure described in the previous section, best results are obtained when the source video is reasonably similar, for example comes from the same shot. Click-and-drag selection, while effective for text, has the consequence that undesired video is sometimes selected with little user awareness. Also non-contiguous selection is alternatively useful. FIG. 34 illustrates a web based interface that displays periodic frames of the video for interactively selecting endpoints of one or more training video segments and for displaying similarity measure for the periodic frames. The entire video is first divided into periodic frames which are displayed as shown in FIG. 34. Each periodic frame includes a checkbox allowing the user to select the periodic frame, thus marking it for inclusion in the frame segment. If adjacent periodic frames are checked, then all undisplayed frames of the video following between the two checked periodic frames become part of the training segment. For example, all the frames of the video between periodic frame 3401 and periodic frame 3402 are included in the training segment. Once the similarity search for the video has been done, the similarity information corresponding to periodic frames are optionally displayed as shade of a rectangular box surrounding the periodic frame. FIG. 34 shows a web-based application for selecting video regions that allows visualizing the selected regions as well as supporting noncontiguous selection. In this application, the video is represented as a sequence of key frames taken at a regular interval. FIG. 34 shows a Web-based application for selecting video regions that allows visualizing the selected regions as well as supporting non-contiguous selection. In this application, the video is represented as a sequence of keyframes taken as a regular interval and shown together with their time (in seconds) in the video. A 5 second interval is appropriate for a video-recorded presentation, though a faster or slower rate is optionally preferred for other applications. The user selects multiple key frames by clicking on the check box under each. The model is trained on all frames of the video between adjacently-selected key frames. This interface is superior in some respects than a click-and-drag because it allows endpoints to be precisely located and explicitly shows the selected video content. FIG. 34 also shows that non-contiguous selections are possible by selecting several intervals one after another. This interface allows the user to find regions of interest at a glance because of the compact display. In a normal-sized Web browser, 120 images corresponding to 10 minutes of video are shown in the window while the rest of the video is easily accessible via scrolling. The interface supports the assignment of different labels to different classes of images. Previously assigned labels are color-coded in the display. The similarity to the selected video is calculated nearly instantaneously and displayed in the browser of FIGS. 32 and 33 or thresholded and displayed in the web interface as different color around each frame as in FIG. 34. FIG. 35 illustrates similarity matrices of a video computed using discrete cosine transform coefficients and Hadamard transform coefficients according to the present invention. To illustrate the utility of a distance metric, it is possible to visualize the self-similarity of a video by computing the similarity between all frames and displaying the resulting matrix as an image. FIG. 35 shows the distance matrices of a staff meeting video. Each pixel at position (i,j) has been colored proportionally to the distance between frame i and frame j, such that more similar frames are darker. The units on each axis are time in seconds, and each point has been colored proportionally to euclidean distance between the 100 discrete cosine transform and Hadamard transform coefficients with the highest variance. A frequent conventional criticism of the Hadamard transform domain is that it does not correlate well with perceptual differences. It is interesting to note that the distances are quite similar for both the Hadamard and discrete cosine transform representations; the Hadamard transform works similarly well for clustering and modeling in general. The black diagonal line at i=j indicates that frames are identical to themselves. Some features stand out; it is easy to see there is an introductory period at the beginning of the video that is not similar to the following material; it lasts about 500 seconds. Four dark squares at the lower right corner are from two long shots of a slide presentation. Individual slide changes are visible within, but these are of smaller magnitude than cuts to the audience or the speaker. These slides are also very similar to another slide presentation starting at about 550 seconds, and intercut with audience shots that are also self-similar, leading to the "checkerboard" appearance. The slides are also somewhat similar to shots of the computer desktop at 1600 and 1900 seconds, causing those regions to appear dark, but not as dark as other slide regions. Though these matrices are not totally intuitive, a "slice" taken at any particular time indicates the similarity of the particular frame at that time to the rest of the video. If presented as the time bar of FIG. 32 or 33, this shows how a single frame is used to find similar video regions, though Gaussian models tend to be more robust because of their ability to model variance. The present invention also includes enhancements to perform color retrieval, by calculating one or more additional signatures based on the color information. This is accomplished by computing an additional feature signature for the chromatic components of the image (the UV components in the YUV color space) to add to the existing luminance (Y) signature represented by the feature vector. Because the chromatic components need less spatial resolution, they are represented with smaller signatures. Essentially, transform coefficient positions from a transform of the chromatic components of the frame are selected and appended to the feature vector, so that the feature vector includes coefficients from transforms of both luminance frames and chromatic frames derived from the same color frame. According to another alternative, each YUV or RGB color component are treated as a separate image frames. Thus three transforms are applied to each frame, and signatures (feature vectors) are calculated and compared for each separate image. This allows weighting by overall color in the similarity metric. Yet another alternative according to the present invention for inclusion of color information is the combination of this retrieval technique with another based on, for example, color histograms. In an initial similarity step, images are found by luminance feature vector similarity. By breaking the image into regions and computing color histograms on each region, some of the spatial information in the image is preserved. In a final similarity step, the top-ranking images resulting from the initial similarity step are scored again for similarity using a color-histogram similarity method or another similarity approach. Color is a useful clue for many kinds of video images, for example in staff meetings videos computer presentations can often be distinguished by the slide background color alone. Also modeling motion or time sequence are quite useful in many applications; more powerful statistical models allow us to do this. Though a Gaussian model is ideal for many applications, it has the drawback that all change within an interval is averaged. If it is important to capture temporal sequence or duration, a hidden Markov model is alternatively used. The hidden Markov model output distributions are modeled as single or multiple Gaussians on the feature vectors, exactly as described above. An advantage of hidden Markov models is that each state has an implicit or explicit duration model. This adds a factor to the likelihood calculation which penalizes shots of unlikely duration (either too long or too short). This is more useful than a simple maximum-likelihood frame classification because the duration model constrains most adjacent frames to the same state, thus reducing spurious shot boundaries. The hidden Markov formulation is optionally powerfully extended to capture video trends or sequences by using multiple states and a transition graph (analogous to a language model in speech recognition). Thus a hidden Markov model is optionally used to model, for example, the station-logo to anchor-shot transition that characterizes the start of a news broadcast. Because of the sequence constraint implicit in the hidden Markov model, this does not match the anchor-shot to station-logo transition that frequently occurs at the end of the broadcast, whereas a simple Gaussian model yields a high score for both. Also useful is a differenced representation, computed as the frame-to-frame difference of the original feature vectors. By Parseval's relation, the norm of each vector is (nearly) proportional to the norm of the pixel differences. Thus, large frame-to-frame differences caused by cuts or camera motion are easily detected by computing the norm of the differenced vectors. Alternatively, these are concatenated with the original feature vectors to form augmented features that capture motion. The methods of similarity searching according to the present invention describe a rapid and powerful means of finding similar video regions. Allowing the user to specify a query using example video is an advance beyond text- or sketch-based interfaces. The techniques extend easily to large video collections, and to measures of color or temporal similarity. Weekly staff meetings are sometimes held in a conference room outfitted with multiple video cameras and microphones. Meetings start with general announcements from management and staff, then proceed to presentations by individual lab members. Presentations are usually given by one person and include graphics such as overhead or computer slides, and there is usually more than one presentation in a meeting. A camera person switches between the cameras in the room, providing shots of the video recording. The video is MPEG-encoded, and made available to staff via the company intranet. FIG. 36 illustrates the data flow corresponding to a method of segmenting and audio visual recording according to the present invention. Source video 3601 is analyzed to find slide regions at step 3602. The audio channel of the source video 3601 is extracted at step 3603 for regions of the source video 3601 corresponding to slide intervals. The audio intervals extracted at step 3603 are clustered at step 3604 according to speaker. In other words, audio intervals are compared to each other and grouped according to their source. The resulting clusters of audio intervals are deemed to each have originated from a single orator. The audio intervals in the same speaker clusters are merged at step 3605. At step 3606 a source specific speaker model is trained for each merged audio interval. At step 3607, the audio channel of the source video 3601 is segmented by speaker using speaker recognition. The results of the segmentation by the audio channel are indexed in the source video 3601 and the source audio 3608 for future browsing and source specific retrieval operations. FIG. 37 illustrates the logarithm of the probability of frames of an audio visual recording being slides for a recorded meeting having two presentations by two speakers. The label 3701 indicating the extent of speaker A's presentation is the actual observed duration of speaker A's presentation derived from a human user watching the video. Similarly, the speaker B indicator 3702 indicates the full extent of speaker B's presentation. The compact feature vector (the reduced coefficients) for each frame is computed as described above. A diagonal covariance Gaussian model has trained on slide images from several unrelated meeting videos. This model is used to generate a likelihood for each video frame, which measures the log-likelihood that the given frame is a slide. When thresholded at one standard deviation, this yields a robust estimate of when slides are shown in the video. As shown in Table 3 below, the slides were associated with presentations with 94% accuracy. Slide intervals of longer than 20 seconds are used as candidate speech intervals for the system. FIG. 37 shows a plot of the slide log-likelihood for a staff meeting. There are four intervals that meet the criteria of being above the threshold (dotted line) for longer than 20 seconds: these are labeled 1, 2, 3 and 4. There were two presentations during this particular meeting, respectively given by two speakers labeled A and B. The extent of each presentation is indicated at the top of FIG. 37; this serves as the ground truth for the segmentation experiment. Note that speaker B's presentation lasted more than twice as long as slides were displayed.
TABLE 3
presentation classification errors by frame
Features used Missed False Positive
Slides 0.745 0.058
Slides + Speaker segmentation 0.042 0.013
FIG. 38 illustrates the data flow in a clustering method applied to audio intervals according to the present invention such as shown in steps 3604 and 3605 or FIG. 36. Audio intervals 3801 through 3804 represent the four audio intervals labeled 1, 2, 3 and 4 on FIG. 37, which were extracted from the source audio 3608 shown in FIG. 36. The audio intervals 3801 through 3804 are parametized into audio vectors 3805 through 3808. A clustering method 3809 is applied to the audio vectors 3805 through 3808 so as to agglomerate audio vectors having small euclidean distances from each other. The result of the clustering method 3809 is merged audio interval 3810 and merged audio interval 3811 corresponding to speakers A and B, respectively. It is particularly difficult to do speaker identification using far-field microphones, that is, microphones more than a few centimeters from a given speaker's mouth. Because the audio at recorded meetings comes from multiple ceiling microphones rather than lapel or other close-talking microphones, speaker identification becomes particularly difficult. Practically all speaker identification techniques use some sort of audio spectral measure, such as mel-frequency cepstral coefficients, to characterize a particular speaker. Far-field microphones in all real-world environments pick up speech both directly and reflected from environmental features such as walls, floors, and tables. These multipath reflections introduce comb-filtering effects that substantially alter the frequency spectrum of the speech. This problem is worsened by mixing signals from multiple microphones (as is common practice in teleconferencing systems). Additional effects due to room resonances also colors each microphone's frequency response. Both resonance and comb-filter effects change drastically and unpredictably with a speaker's position in the room. This makes current speaker-identification methods, where a sample of training speech is used to train a speaker model, particularly ill-suited to a far-field microphone environment. The spectral changes due to the acoustic environment are often nearly the same order of magnitude as the spectral differences between speakers. To avoid the inevitable mismatch between training and test data due to unpredictable room acoustics, this system essentially obtains training data from the test data by extracting segments that were likely uttered by a single speaker. In the present embodiment, this is done by assuming a single speaker's speech is correlated with the display of presentation visuals such as slides. (In the assumed staff meeting domain, this assumption is usually, but not completely, accurate as there are frequently questions, laughter, or other interjections during a given slide interval.) Other video analyses, such as single-face or news-anchor detection, are used in a similar manner. As an alternative according to the present invention, face recognition augments or replaces the audio clustering used to associate video intervals with particular speakers. The next step is to cluster the candidate intervals to determine how many speakers have given slide presentations. This is done using one of any number of clustering techniques, but for the current embodiment a very straightforward measure of audio similarity is used. Each audio interval is parameterized into mel-frequency cepstral coefficients, and the coefficient means over each interval are compared. Using the euclidean distance measure and an agglomerative clustering method thresholded at one-half the maximum distance results in separate clusters for each speaker candidate. The clustering threshold rejects intervals that do not sufficiently resemble any existing clusters. For example, if questions are asked about a particular slide, the resulting interval quite frequently contains speech from many different speakers. More sophisticated distance and clustering methods are optionally used, for example, non-parametric similarity measures, likelihood-ratio distance, and/or variable-threshold clustering. Additional constraints, such as biasing the distance metric to encourage clustering of adjacent segments, or using prior knowledge about the number of speakers, optionally improves the clustering. As previously mentioned, automatic face recognition alternatively enhances or replaces the acoustic clustering. FIG. 39 illustrates the speaker transition model consisting of a series of speaker units according to the present invention. Filler models 3901, 3902, and 3903 represent audio models trained on, for example, non-single speaker segments of the video. Speaker model 3904 represents a speaker model trained on the merged audio interval 3810 shown in FIG. 38. Speaker model 3905 represents a model trained on the merged audio interval 3811 shown in FIG. 38. Speaker units 3906 and 3907 are concatenated to form a hidden Markov model to be used in step 3607 shown in FIG. 36 to segment the source audio 3608 using speaker order knowledge in the segmentation. From the clustering results, both the number of speakers giving presentations and the order in which they speak are determined. This allows the video to be segmented using hidden Markov models. Furthermore, the clustered audio segments are used to train each speaker model. From the clustering results, a hidden Markov model is automatically constructed to model the time extent of the video. FIG. 39 shows the structure of the model. The "filler" model represents audio assumed to be other than a presenter's speech. In the present embodiment, the filler model is trained on silence, laughter, applause, and audience noise segmented from other meeting videos, as well as audio from first two minutes of the source video, which is assumed to not contain speech from the presentation speakers. The filler model, though multiply-instantiated, is preferably the same in each instance. The speaker-specific models represent speech from the presentation speakers. Each speaker-specific model is trained on the audio from the cluster from the combined slide intervals associated with it. Concatenating a speaker model and an optional filler model results in a "speaker unit." These are concatenated, one per speaker, to result in the final model. This enforces the proper speaker order. Segmentation is performed using the Viterbi algorithm to find the maximum-likelihood alignment of the source audio with the full model. This allows the time extent of each presenter's speech to be determined, as it may differ substantially from the intervals in which slides are shown. In particular, it is common for the video to alternate between shots of the speaker, audience, and the presentation slides while the speaker is talking. In the current embodiment, both filler and speaker models have a single state, and have single-mixture full covariance Gaussian output distributions. Because models are single-state and single-mixture, they are rapidly trained in one pass. Multiple-state or -mixture models may improve performance at the cost of more expensive training. Self-transitions are allowed with no penalty, resulting in an ergodic model that has no explicit time duration. This allows a model to represent any given length of time with no probability penalty. FIG. 40 illustrates the segmentation results of the method of segmenting an audio visual recording according to the present invention. Thus, speaker A indication 4001 shows the segmentation of speaker A as substantially overlapping the actual duration 4003 of speaker A's presentation. Speaker B segmentation indication 4002 indicates that the segmentation results substantially overlapped with the actual speaker B duration 4004. Thus speaker A indiction 4001 and speaker B indication 4002 are derived from the indexes created by segmentation according to the present invention. FIG. 40 shows the automatic segmentation results for the source meeting video. Despite the adverse acoustic environment (6 far-field microphones with gain control), two speakers were identified and the extent of their presentations was reasonably well-segmented, to within a few tens of seconds. This is certainly adequate to segment and browse the video. The largest discrepancy was at the end of speaker A's presentation, which was segmented to actually last up to the start of speaker B's presentation. This is perhaps because both speakers spoke during the interval, as they discussed details of the projection system. The same techniques used to segment a single meeting are optionally applied across multiple meetings containing the same set of speakers. Presentations from individual meetings are optionally clustered across a corpus of meetings. This allows a catalog of presenters to be created. If this contains enough examples of the same speaker's speech across potentially different acoustic environments (room positions), a more robust position-independent speaker model is optionally trained. In addition, if speakers are identified in meeting agendas, speaker models are associated with names for subsequent identification and retrieval. Six videotaped meetings containing slide presentations were used as test corpus. Training data for audio filler models and slide images cam from another set of videos. The six videos total length was 280 minutes, 21 seconds for an average length of about 45 minutes. Each video contained from one of five presentations, for a total of 16, though three presentation contained video as well as slides and most had audience questions or comments. Because presentations were typically longer than the duration of slide intervals, the presence of slides was a good indicator of a presentation, thus finding presentations from slides alone resulted in missing more than 75% of the presentation. The second row of Table 3 shows how speaker segmentation improves this: only about 5% of presentations were mis-identified as being other than presentations. From the 16 presentations, there were a total of 32 endpoints to detect (as well as additional endpoints from the video and anomalous audio). An endpoint was considered correct if it occurred within 15 seconds of the actual speaker's speech starting or ending. Table 4 shows the accuracy of endpoint location. Before clustering, there were 114 endpoints from the 57 slide intervals. Given the ground truth of 32 relevant endpoints to detect, and 26 endpoints were correctly located, this resulted in a recall of 0.81 with a precision of 0.23, thus most endpoints were found but less than one in four detected endpoints was likely to be correct. Clustering the 57 aligned segments yielded 23 clusters, which dramatically improved the precisions by reducing the number of incorrect endpoints. Note that at least 2 of the detected endpoints were due to videos internal to a presentation, so the precision is unduly pessimistic. The non-ideal audio environment also caused clustering problems. Microphones are mounted in acoustic ceiling tiles near HVAC vents. Several presentations were mis-clustered due to the presence or absence of ventilation noise. This affected the acoustic signal enough that the same talker was clustered differently depending on the state of the ventilation system; several cluster boundaries occur exactly as the ventilation switches on or off.
TABLE 4
presentation classification errors by frame
Endpoint Detection Recall Precision
Before clustering 0.81 0.23
After clustering 0.81 0.57
Besides meeting videos, these methods according to the present invention are applicable to any domain where individual speakers are associated with identifiable video characteristics. One example is alternatively news broadcasts, where shots of news anchors can often be identified by image composition and background. Using speaker identification allows segmentation of news stories by anchor, even in the presence of location or other intervening video. FIG. 41 illustrate an inter-segment acoustic distance matrix according to the present invention. Diagonal entries 4101 through 4105 are black indicating that each segment is similar to itself. Grey regions 4106 and 4107 represent the partial similarity of the audio intervals at the beginning and end of the source audio. The white regions represent non-similarity of audio segments. In many cases, there are multiple adjacent intervals that correspond to the same speaker, for example the ones labeled 2, 3 and 4 in FIG. 40. Clustering is alternatively performed using many techniques, for example the likelihood-ratio distance. The clustering method used here is based on the non-parametric distance measure. Mel-frequency cepstral component parameterized audio segments are used to train a supervised vector quantizer, using a maximum mutual information criterion to find class boundaries. Once trained, segments are vector quantized, and a histogram is constructed of the bin distributions. This histogram serves as a signature of the audio file; if treated as a vector, the cosine between two histograms serves as a good measure of audio similarity. FIG. 41 shows a distance matrix computed using this measure. This shows the audio similarity between 12 slide regions from a single meeting video. Each element i, j has been colored to show the difference between segment i and j, such that closer, hence more similar, distances are darker. From FIG. | ||||||
