Saying What You're Looking For: Linguistics Meets Video Search

09/20/2013 ∙ by Andrei Barbu, et al. ∙ Andrei Barbu 0

We present an approach to searching large video corpora for video clips which depict a natural-language query in the form of a sentence. This approach uses compositional semantics to encode subtle meaning that is lost in other systems, such as the difference between two sentences which have identical words but entirely different meaning: "The person rode the horse vs. The horse rode the person". Given a video-sentence pair and a natural-language parser, along with a grammar that describes the space of sentential queries, we produce a score which indicates how well the video depicts the sentence. We produce such a score for each video clip in a corpus and return a ranked list of clips. Furthermore, this approach addresses two fundamental problems simultaneously: detecting and tracking objects, and recognizing whether those tracks depict the query. Because both tracking and object detection are unreliable, this uses knowledge about the intended sentential query to focus the tracker on the relevant participants and ensures that the resulting tracks are described by the sentential query. While earlier work was limited to single-word queries which correspond to either verbs or nouns, we show how one can search for complex queries which contain multiple phrases, such as prepositional phrases, and modifiers, such as adverbs. We demonstrate this approach by searching for 141 queries involving people and horses interacting with each other in 10 full-length Hollywood movies.



There are no comments yet.


page 10

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Video search engines lag behind text search engines in their wide use and performance. This is in part because the most attractive interface for finding videos remains a natural-language query in the form of a sentence but determining if a sentence describes a video remains a difficult task. This task is difficult for a number of different reasons: unreliable object detectors which are required to determine if nouns occur, unreliable event recognizers which are required to determine if verbs occur, the need to recognize other parts of speech such as adverbs or adjectives, and the need for a representation of the semantics of a sentence which can faithfully encode the desired natural-language query. We propose an approach which simultaneously addresses all of these problems. Systems to date generally attempt to independently address the various aspects that make this task difficult. For example, they attempt to separately find videos that depict nouns and videos that depict verbs and essentially take the intersection of the two sets of videos. This general approach of solving these problems piecemeal cannot represent crucial distinctions between otherwise similar input queries. For example, if you search for The person rode the horse and for The horse rode the person, existing systems would give the same result for both queries as they each contain the same words, but clearly the desired output for these two queries is very different. We develop a holistic approach which both combines tracking and word recognition to address the problems of unreliable object detectors and trackers and at the same time uses compositional semantics to construct the meaning of a sentence from the meaning of its words in order to make crucial but otherwise subtle distinctions between otherwise similar sentences. Given a grammar and an input sentence, we parse that sentence and, for each video clip in a corpus, we simultaneously track all objects that the sentence refers to and enforce that all tracks must be described by the target sentence using an approach called the sentence tracker. Each video is scored by the quality of its tracks, which are guaranteed by construction to depict our target sentence, and the final score correlates with our confidence that the resulting tracks correspond to real objects in the video. We produce a score for every video-sentence pair and return multiple video hits ordered by their scores.

Hu et al. (2011) note that recent work on semantic video search focuses on detecting nouns, detecting verbs, or using language to search already-existing video annotation. Work that detects objects does not employ object detectors, but instead relies on statistical features to cluster videos with similar objects. Sivic and Zisserman (2003) extract local features from a positive example of an object to find key frames that contain the same object. Anjulan and Canagarajah (2009) track stable image patches to extract object tracks over the duration of a video and group similar tracks into object classes. Without employing an object detector, these methods cannot search a collection of videos for a particular object class but instead must search by example.

Prior work on verb detection does not integrate with work on object detection. Chang et al. (2002)

find one of four different highlights in basketball games using hidden Markov models and the expected structure of a basketball game. It does not detect objects but instead classifies entire presegmented clips, is restricted to a small number of domain-specific actions, and supports only single-word queries.

Yu et al. (2003) track one object, a soccer ball, and detect actions being performed on that object during a match by the position and velocity of the object. It supports a small number of domain-specific actions and is limited to a single object. In summary, the above approaches only allow for searching for a single word, a verb, and are domain-specific.

Prior work on more complex queries involving both nouns and verbs essentially encodes the meaning of a sentence as a conjunction of words, discarding the semantics of the sentence. Christel et al. (2004), Worring et al. (2007), and Snoek et al. (2007) present various combinations of text search, verb retrieval, and noun retrieval, and essentially allow for finding videos which are at the intersection of multiple search mechanisms. Aytar et al. (2008) rely on annotating a video corpus with sentences that describe each video in that corpus. They employ text-based search methods which given a query, a conjunction of words, attempt to find videos of similar concepts as defined by the combination of an ontology and statistical features of the videos. Their model for a sentence is a conjunction of words where higher-scoring videos more faithfully depict each individual word but the relationship between words is lost. None of these methods attempt to faithfully encode the semantics of a sentence and none of them can encode the distinction between The person hit the ball and The ball hit the person.

In what follows, we describe a system, which unlike previous approaches, allows for a natural-language query of video corpora which have no human-provided annotation. Given a sentence and a video corpus, it retrieves a ranked list of videos which are described by that sentence. We show a method of constructing a lexicon with a small number of parameters, which are reused among multiple words, making training those parameters easy and ensuring the system need not be shown positive examples of every word in the lexicon. We present a novel way to combine the semantics of words into the semantics of sentences and to combine sentence recognition with object tracking in order to score a video-sentence pair. To demonstrate this approach, we run 141 natural-language queries of a corpus of 10 full-length Hollywood movies using a grammar which includes nouns, verbs, adverbs, and spatial-relation and motion prepositions. This is the first approach which can search for complex queries which include multiple phrases, such as prepositional phrases, and modifiers, such as adverbs.

2 Tracking

To search for videos which depict a sentence, we must first track objects that participate in the event described by that sentence. Tracks consist of a single detection per frame per object. To recover these tracks, we employ detection-based tracking. An object detector is run on every frame of a video producing a set of axis-aligned rectangles along with scores which correspond to the strength of each detection. There are two reasons why we need a tracker and cannot just take the top-scoring detection in every frame. First, there may be multiple instances of the same object in the field of view. Second, object detectors are extremely unreliable. Even on standard benchmarks, such as the PASCAL Visual Object Classes (VOC) Challenge, even the best detectors for the easiest-to-detect object classes achieve average-precision scores of 40% to 50% (Everingham et al., 2010). We overcome both of these problems by integrating the intra-frame information available from the object detector with inter-frame information computed from optical flow.

We expect that the motion of correct tracks agrees with the motion of the objects in the video which we can compute separately and independently of any detections using optical flow. We call this quantity the motion coherence of a track. In other words, given a detection corresponding to an object in the video, we compute the average optical flow inside that detection and forward-project the detection along that vector, and expect to find a strong detection in the next frame at that location. We formalize this intuition into an algorithm which finds an optimal track given a set of detections in each frame. Each detection

has an associated axis-aligned rectangle  and score  and each pair of detections has an associated temporal coherence score  where is the index of the current frame in a video of length . We formulate the score of a track  as


where we take , the motion coherence, to be a function of the squared Euclidean distance between the center of and the center of projected one frame forward. While the number of possible tracks is exponential in the number of frames in the video, Eq. 1 can be maximized in time linear in the number of frames and quadratic in the number of detections per frame using dynamic programming, the Viterbi (1971) algorithm.

The development of this tracker follows that of Barbu et al. (2012b) which presents additional details of such a tracker, including an extension which allows it to generate multiple tracks per object class by non-maxima suppression. The tracker employed here has a number of differences from that of Barbu et al. (2012b). While that tracker used the raw detection scores from the Felzenszwalb et al. (2010a, b)

detector, these scores are difficult to interpret because the mean score and variance varies by object class making it difficult to decide whether a detection is strong. To get around this problem, we pass all detections through a sigmoid

whose center, , is the model threshold and whose scaling factor , is 2. This normalizes the score to the range and makes scores more comparable across models. In addition, the motion coherence score is also passed through a similar sigmoid, with center 50 and scale .

3 Word recognition

Given tracks, we want to decide if a word describes one or more of those tracks. This is a generalization of event recognition, generalizing the notion of an event from verbs to other parts of speech. To recognize if a word describes a collection of tracks, we extract features from those tracks and use those features to formulate the semantics of words. Word semantics are formulated in terms of finite state machines (FSMs) which accept one or more tracks. Fig. 2 provides an overview of all FSMs used in this paper, rendered as regular expressions along with their semantics. This approach is a limiting case of that taken by Barbu et al. (2012a) which used hidden Markov models (HMMs) to encode the semantics of words. In essence, our FSMs are unnormalized HMMs with binary transition matrices and binary output distributions. This allows the same recognition mechanism as that used by Barbu et al. (2012a) to be employed here.

We construct word meaning in two levels. First, we construct 18 predicates, shown in Fig. 1, which accept one or more detections. We then construct word meanings for our lexicon of 15 words, shown in Fig. 2, as regular expressions which accept tracks and are composed out of these predicates. The reason for this two-level construction is to allow for sharing of low-level features and parameters. All words share the same predicates which are encoded relative to 9 parameters: far, close, stationary, , , , , , and overlap. These parameters are learned from a small number of positive and negative examples that cover only a small number of words in the lexicon. To make predicates independent of the video resolution, detections are first rescaled relative to a standard resolution of , otherwise parameters such as far would vary with the resolution.

Given a regular expression for a word, we can construct a non-deterministic FSM, with one accepting state, whose allowable transitions are encoded by a binary transition matrix , giving score zero to allowed transitions and to disallowed transitions, and whose states accept detections which agree with the predicate , again with the same score of zero or . With this FSM, we can recognize if a word describes a track , by finding

where through range over the set of states of the FSM and is the singleton set containing the accepting state. If this word describes the track, the score will be zero. If it does not, the score will be . The above formulation is trivially generalized to multiple tracks and is the same as that used by Barbu et al. (2012b). We find accepting paths through the lattice of states using dynamic programming, the Viterbi algorithm. Note that this method can be applied to encode not just the meaning of verbs but also of other parts of speech, for example the meaning of left-of. We will avail ourselves of the ability to encode the meaning of all parts of speech into a uniform representation in order to build up the semantics of sentences from the semantics of words.

Figure 1: Predicates which accept detections, denoted by and , formulated around 9 parameters. The function project projects a detection forward one frame using optical flow. The functions flow-orientation and flow-magnitude compute the angle and magnitude of the average optical-flow vector inside a detection. The function accesses the coordinate of the center of a detection. The function computes the width of a detection. Words are formed as regular expressions over these predicates.

Figure 2: Regular expressions which encode the meanings of each of the 15 words or lexicalized phrases in the lexicon as regular expressions composed of the predicates shown in Fig. 1. We use an extended regular expression syntax where an exponent of allows a predicate to hold for one or more frames and exponent of allows a predicate to hold for or more frames.

4 Sentence tracker

Our ultimate goal is to search for videos given a natural-language query in the form of a sentence. The framework developed so far falls short of supporting this goal in two ways. First, as we attempt to recognize multiple words that constrain a single track, it becomes unlikely that the tracker will happen to produce an optimal track which satisfies all the desired predicates. For example, we want a person that is both running and doing so leftward. Second, a sentence is not a conjunction of words, even though a word is represented here as a conjunction of features, so a new mechanism is required to faithfully encode the semantics of a sentence. Intuitively, we need a way to encode the mutual dependence in the sentence The tall person rode the horse so that the person is tall, not the horse, and the person is riding the horse, not vice versa.

We address the first point by biasing the tracker to produce tracks which agree with the predicates that are being enforced. This may result in the tracker producing tracks which have to consist of lower-scoring detections, which decreases the probability that these tracks correspond to real objects in the video, This is not a concern as we will present the users with results ranked by their tracker score. In essence, we pay a penalty for forcing a track to agree with the enforced predicates and the ultimate rank order is influenced by this penalty. The computational mechanism that enables this exists by virtue of the fact that our tracker and word recognizer have the same internal representation and algorithm, namely, each finds optimal paths through a lattice of detections and states, respectively, and each weights the links in that lattice by a score, the motion coherence and state-transition score, respectively. We simultaneously find the optimal, highest-scoring, track

and state sequence as

which ensures that, unless the state sequence for the word FSM leads to an accepting state, the resulting score will be and thereby constrains the tracks to depict the word. Intuitively, we have two lattices, a tracker lattice and a word-recognizer lattice, and we find the optimal path, again with the Viterbi algorithm, through a cross-product lattice.

The above handles only a single word, but given a sentential query we want to encode its semantics in terms of multiple words and multiple trackers. We parse an input sentence with a grammar, shown in Fig. 5, and extract the number of participants and the track-to-role mapping. Each sentence has a number of thematic roles that must be filled by participants in order for the sentence to be syntactically valid. For example, in the sentence The person rode the horse quickly away from the other horse, there are three participants, one person and two horses, and each of the three participants plays a different role in the sentence, agent, patient, and goal. Each word in this sentence refers to a subset of these three different participants, as shown in Fig. 4, and words that refer to multiple participants, such as ride, must be assigned participants in the correct order to ensure that we encode The person rode the horse rather than The horse rode the person. We use a custom natural-language parser which takes as input a grammar, along with the arity and thematic roles of each word, and computes a track-to-role mapping: which participants fill which roles in which words. We employ the same mechanism as described above for simultaneous word recognition and tracking, except that we instantiate one tracker for each participant and one word recognizer for each word. The thematic roles, , map the th role in a word to a tracker. Fig. 4 displays an overview of this mapping for a sample sentence. Trackers are shown in red, word recognizers are shown in blue, and the track-to-role mapping is shown using the arrows. Given a sentential query that has words, participants, and track-to-role mapping , we find a collection of optimal tracks , one for each participant, and accepting state sequences , one for each word, as

where and are the transition matrices and predicates for word , is a detection in the th frame of the th track, and connects a participant that fills the th role in word with the detections of its tracker. This equation maximizes the tracker score for each tracker corresponding to each participant, and ensures that each word has a sequence of accepting states, if such a sequence exists, otherwise the entire sentence-tracker score will be . In essence, we are taking cross products of tracker lattices and word lattices while ensuring that the sequence of cross products agrees with our track-to-role mapping and finding the optimal path through the resulting lattice. This allows us to employ the same computational mechanism, the Viterbi algorithm, to find this optimal node sequence. The resulting tracks will satisfy the semantics of the input sentence, even if this means paying a penalty by having to choose lower-scoring detections.

word word

track track
Figure 3: Tracker lattices are used to produce tracks for each the object. Word lattices constructed from word FSMs recognize one or more tracks. We take the cross product of multiple tracker lattices and word lattices to simultaneously track objects and recognize words. By construction, this ensures that the resulting tracks are described by the desired words.
















Figure 4: The order of cross products required to encode the meaning of a sentence is not arbitrary and is shown here by the arrows connecting each word to each tracker, shown in red. The number of tracks is determined by parsing the sentence. The lattices for words or lexicalized phrases such as away from are cross producted with the tracks that those words refer to. The dashed line indicate that the order of the cross products is essential for words which have more than one role, in other words rode is not symmetric.
D the N person horse
PP P NP P to the left of to the right of
VP V NP [Adv] [] V lead rode approached
Adv quickly slowly NP from the left from the right
towards away from
Figure 5: The grammar for sentential queries used in the experiment section.

5 Results

We have so far developed a system which scores a video-sentence pair telling us how well a video depicts a sentence. Given a sentential query, we run the sentence tracker on every video in a corpus and return all results ranked by their scores. The better the score the more confident we are that the resulting tracks correspond to real objects in the video while the sentence tracker itself ensures that all tracks produced satisfy the sentential query. To save on redundant computation, we cache the object-detector results for each video as the detection scores are independent of the sentential query.

To demonstrate this approach to video search, we ran sentential queries over a corpus of 10 Hollywood westerns: Black Beauty (Warner Brothers, 1994), The Black Stallion (MGM, 1979), Blazing Saddles (Warner Brothers, 1974), Easy Rider (Columbia Pictures, 1969), The Good the Bad and the Ugly (Columbia Pictures, 1966), Hidalgo (Touchstone Pictures, 2004), National Velvet (MGM, 1944), Once Upon a Time in Mexico (Columbia Pictures, 2003), Seabiscuit (Universal Pictures, 2003), and Unforgiven (Warner Brothers, 1992). In total, this video corpus has 1187 minutes of video, roughly 20 hours. We temporally downsample all videos to 6 frames per second but keep their original spatial resolutions which varied from pixels to pixels with a mean resolution of pixels. We split these videos into 37187 clips, each clip being 18 frames (3 seconds) long, which overlaps the previous clip by 6 frames. This overlap ensures that actions that might otherwise occur on clip boundaries will also occur as part of a clip. While there is prior work on shot segmentation (Cooper et al., 2007) we do not employ it for two reasons. First, it complicates the system and provides an avenue for additional failure modes. Second, the approach taken here is able to find an event inside a longer video with multiple events. The only reason why we split up the videos into clips is to return multiple such events.

We adopt the grammar from Fig. 5 which allows for sentences that describe people interacting with horses, hence our choice of genre for the video corpus, namely westerns. A requirement for determining whether a video depicts a sentence and the degree to which it depicts that sentence is to detect the objects that might fill roles in that sentence. Previous work has shown that people and horses are among the easiest-to-detect objects, although the performance of object detectors, even for these classes, remains extremely low. To ensure that we are not testing on the training data, we employ previously-trained object models that have not been trained on these videos but have instead been trained on the PASCAL VOC Challenge (Everingham et al., 2010). We also require settings for the 9 parameters, shown in Fig. 1, which are required to produce the predicates which encode the semantics of the words in this grammar. We train all 9 parameters simultaneously on only 3 positive examples and 3 negative examples. Note that these training examples cover only a subset of the words in the grammar but are sufficient to define the semantics of all words because this word subset touches upon all the underlying parameters. Training proceeds by exhaustively searching a small uniform grid, with between 3 and 10 steps per dimension, of all nine parameter settings to find a combination which best classifies all 6 training samples which are then removed from the test set. Yu and Siskind (2013) present a related alternative strategy for training the parameters of a lexicon of words given a video corpus.

We generate 204 sentences that conform to the grammar in Fig. 5 from the following template:

X {approached Y {,quickly,slowly} {,from the left,from the right},
   {lead,rode} Y {,quickly,slowly}
     {,leftward,rightward,{towards,away from} Z}}

where X, Y, and Z are either person or horse. We eliminate the 63 queries that involve people riding people and horses riding people or other horses, as our video corpus has no positive examples for these sentences. This leaves us with 141 queries which conform to our grammar. For each sentence, we score every video-sentence pair and return the top 10 best-scoring clips for that sentence. Each of these top 10 clips was annotated by a human judge with a binary decision: is this sentence true of this clip? In Fig. 6(a), we show the precision of the system on the top 10 queries as a function of a threshold on the scores. As the threshold nears zero, the system may return fewer than 10 results per sentence because it eliminates query results which are unlikely to be true positives. As the threshold tends to , the average precision across all top 10 clips for all sentences is 20.6%, and at its peak, the average precision is 40.0%. In Fig. 6(b), we show the number of results returned per sentence, eliminating those results which have a score of

since that tells us no tracks could be found which agree with the semantics of the sentence, On average, there are 7.96 hits per sentence, with standard deviation 3.61, and with only 14 sentences having no hits. In Fig. 

6(c), we show the number of correct his per sentence. On average, there are 1.63 correct hits per sentence, with standard deviation 2.16, and with 74 sentences having at least one true positive.

We highlight the usefulness of this approach in Fig. 8 where we show the top 6 hits for two similar queries: The person approaches the horse and The horse approached the person. Hits are presented in order of score, with the highest scoring hit in the top left-hand corner and scores decreasing as one moves to the right and to the next line. Note how the results for the two sentences are very different from each other and each sentence has 3 true positives and 3 false positives.111It can be difficult to distinguish true positives and false positives from just a pair of frames, so we have included the full videos in the supplementary material along with additional results. With existing systems, both queries would provide the same hits as they treat the sentences as conjunctions of words.

We compare against earlier work for two reasons even though we have established that this approach is fundamentally more expressive. First, to show that this approach is not only more expressive but buys you a very large performance increase. Second, to stave off a potential and natural objection to these results, namely: surely because these are westerns if all you do is pick some movies at random a person will be riding a horse in them. This is not the case, movies are designed for their artistic qualities and story-telling potential not their suitability as event recognition corpora and the vast majority of scenes involve people talking to each other. Rather than try to convince the reader of this we simply state that if this task were easy, if there were so many true positives, surely the state-of-the-art event recognition systems could find them? This turns out to not be the case.

It’s difficult to compare against earlier work because we must be fair to that work. Approaches like that of Sivic and Zisserman (2003) use object detectors to find nouns, but they do not use the state-of-the-art object detectors, like the Felzenszwalb et al. (2010a) detector that we employ. If we compared against this work we would be comparing two object detectors not two retrieval approaches. Moreover, systems which find events do not use the state-of-the-art event recognition systems, hence this approach would dominate for unrelated reasons. So we construct a system which follows the same principle as that of Christel et al. (2004), Worring et al. (2007), and Snoek et al. (2007) but we build it out of the best components we can find. This system takes as input a query, two objects and a verb, note that this is not a sentence as none of these approaches can truly encode the semantics of a sentence. We rank the videos by the average object detector score corresponding to the participants. We employ a recent event recognition system Kuehne et al. (2011) to filter out this ranking and keep videos which depict the query event. This gives us a ranked list of videos, the better the object detector score the more confident we are that the videos really do contain the query objects and the event recognition system ensures the video depicts the query verb. We train the event recognition system on the same 3 verbs, with 6 positive examples per verb. Note that our entire lexicon of 15 words was trained on 6 examples, 0.4 training samples per word, whereas we train the competing system on 15 times as much training data. We ran 3 queries, one for each verb, and each query was paired up with both person and horse. The results are as follows:

our query previous work query our TP previous TP
The person rode the horse person horse ride 9 0
The person lead the horse person horse lead 1 0
The person approached the horse person horse approach 4 1

where we measure the number of true positives in the top 10 hits for each approach, and where a sample was deemed a true positive if it was described by the query of the corresponding system. Note that we far outperform this system which is an enhanced version of existing work.

(a) (b) (c)
Figure 6: (a) Average precision of the top 10 hits for the 141 sentences as a function of the threshold on the sentence-tracker score. Without a threshold, (b) the number of sentences with at most the given number of hits and (c) the number of sentences with at least the given number of correct hits.
Figure 7: The top 6 hits for the sentence The horse approached the person. Half of the hits are true positives.
(b) The person approached the horse
Figure 8: The top 6 hits for the sentence The person approached the horse. Half of the hits are true positives.

6 Conclusion

We have developed a framework for a novel kind of video search that takes, as input, natural-language queries in the form of sentences, along with a video corpus, and generates a list of ranked results. This approach provides two novel video-search capabilities. First, it can encode the semantics of sentences compositionally, allowing it to express subtle distinctions such as the difference between The person rode the horse and The horse rode the person. Second, it can also encode structures more complex than just nouns and verbs, such as modifiers, e.g., adverbs, and entire phrases, e.g., prepositional phrases. We do not require any prior video annotation. The entire lexicon shares a small number of parameters and, unlike previous work, this approach does not need to be trained on every word or even every related word. We have evaluated this approach on a large video corpus of 10 Hollywood movies, comprising roughly 20 hours of video, by running 141 sentential queries and annotating the top 10 results for each query.


  • Anjulan and Canagarajah (2009) A. Anjulan and N. Canagarajah. A unified framework for object retrieval and mining. IEEE Transactions on Circuits and Systems for Video Technology, 19(1):63–76, 2009.
  • Aytar et al. (2008) Y. Aytar, M. Shah, and J. Luo. Utilizing semantic word similarity measures for video retrieval. In

    Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition

    , pages 1–8, 2008.
  • Barbu et al. (2012a) A. Barbu, A. Bridge, Z. Burchill, D. Coroian, S. J. Dickinson, S. Fidler, A. Michaux, S. Mussman, S. Narayanaswamy, D. Salvi, L. Schmidt, J. Shangguan, J. M. Siskind, J. W. Waggoner, S. Wang, J. Wei, Y. Yin, and Z. Zhang. Video in sentences out. In

    Proceedings of the Twenty-Eighth Conference on Uncertainty in Artificial Intelligence

    , pages 102–112, 2012a.
  • Barbu et al. (2012b) A. Barbu, N. Siddharth, A. Michaux, and J. M. Siskind. Simultaneous object detection, tracking, and event recognition. Advances in Cognitive Systems, 2:203–220, 2012b.
  • Chang et al. (2002) P. Chang, M. Han, and Y. Gong. Extract highlights from baseball game video with hidden Markov models. In Proceedings of the International Conference on Image Processing, volume 1, pages 609–612, 2002.
  • Christel et al. (2004) M. G. Christel, C. Huang, N. Moraveji, and N. Papernick. Exploiting multiple modalities for interactive video retrieval. In Proceedings of the International Conference on Accoustics, Speech, and Signal Processing, volume 3, pages 1032–1035, 2004.
  • Cooper et al. (2007) M. Cooper, T. Liu, and E. Rieffel. Video segmentation via temporal pattern classification. IEEE Transactions on Multimedia, 9(3):610–618, 2007.
  • Duan et al. (2005) L.-Y. Duan, M. Xu, Q. Tian, C.-S. Xu, and J. S. Jin. A unified framework for semantic shot classification in sports video. IEEE Transactions on Multimedia, 7(6):1066–1083, 2005.
  • Everingham et al. (2010) M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes (VOC) challenge. International Journal of Computer Vision, 88(2):303–338, 2010.
  • Felzenszwalb et al. (2010a) P. F. Felzenszwalb, R. B. Girshick, and D. McAllester. Cascade object detection with deformable part models. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pages 2241–2248, 2010a.
  • Felzenszwalb et al. (2010b) P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained part based models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(9):1627–1645, Sept. 2010b.
  • Hu et al. (2011) W. Hu, N. Xie, L. Li, X. Zeng, and S. Maybank. A survey on visual content-based video indexing and retrieval. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 41(6):797–819, 2011.
  • Kuehne et al. (2011) H. Kuehne, H. Jhuang, E. Garrote, T. Poggio, and T. Serre. HMDB: a large video database for human motion recognition. In Proceedings of the International Conference on Computer Vision, 2011.
  • Sivic and Zisserman (2003) J. Sivic and A. Zisserman. Video Google: A text retrieval approach to object matching in videos. In Proceedings of the Ninth IEEE International Conference on Computer Vision, pages 1470–1477, 2003.
  • Snoek et al. (2007) C. G. Snoek, M. Worring, D. C. Koelma, and A. W. Smeulders. A learned lexicon-driven paradigm for interactive video retrieval. IEEE Transactions on Multimedia, 9(2):280–292, 2007.
  • Viterbi (1971) A. J. Viterbi. Convolutional codes and their performance in communication systems. IEEE Transactions on Communication, 19:751–772, Oct. 1971.
  • Worring et al. (2007) M. Worring, C. G. Snoek, O. De Rooij, G. Nguyen, and A. Smeulders. The mediamill semantic video search engine. In Proceedings of the International Conference on Accoustics, Speech, and Signal Processing, volume 4, pages 1213–1216, 2007.
  • Xu et al. (2005) G. Xu, Y.-F. Ma, H.-J. Zhang, and S.-Q. Yang. An HMM-based framework for video semantic analysis. IEEE Transactions on Circuits and Systems for Video Technology, 15(11):1422–1433, 2005.
  • Yu and Siskind (2013) H. Yu and J. M. Siskind. Grounded language learning from video described with sentences. In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics, 2013.
  • Yu et al. (2003) X. Yu, C. Xu, H. W. Leong, Q. Tian, Q. Tang, and K. W. Wan. Trajectory-based ball detection and tracking with applications to semantic analysis of broadcast soccer video. In Proceedings of the Eleventh ACM International Conference on Multimedia, pages 11–20, 2003.