Learning Interactions and Relationships between Movie Characters

by   Anna Kukleva, et al.
Max Planck Society

Interactions between people are often governed by their relationships. On the flip side, social relationships are built upon several interactions. Two strangers are more likely to greet and introduce themselves while becoming friends over time. We are fascinated by this interplay between interactions and relationships, and believe that it is an important aspect of understanding social situations. In this work, we propose neural models to learn and jointly predict interactions, relationships, and the pair of characters that are involved. We note that interactions are informed by a mixture of visual and dialog cues, and present a multimodal architecture to extract meaningful information from them. Localizing the pair of interacting characters in video is a time-consuming process, instead, we train our model to learn from clip-level weak labels. We evaluate our models on the MovieGraphs dataset and show the impact of modalities, use of longer temporal context for predicting relationships, and achieve encouraging performance using weak labels as compared with ground-truth labels. Code is online.



There are no comments yet.


page 1

page 7

page 12

page 13

page 14

page 15

page 16

page 17


Movienet: A Movie Multilayer Network Model using Visual and Textual Semantic Cues

Discovering content and stories in movies is one of the most important c...

Inferring Interpersonal Relations in Narrative Summaries

Characterizing relationships between people is fundamental for the under...

CentSmoothie: Central-Smoothing Hypergraph Neural Networks for Predicting Drug-Drug Interactions

Predicting drug-drug interactions (DDI) is the problem of predicting sid...

Identifying Similar Movie Characters Quickly but Effectively Using Non-exhaustive Pair-wise Attention

Identifying similar movie characters is a captivating task that can be o...

A Model-Based Approach to Predicting Predator-Prey & Friend-Foe Relationships in Ant Colonies

Understanding predator-prey relationships among insects is a challenging...

Beyond chord vocabularies: Exploiting pitch-relationships in a chord estimation metric

Chord estimation metrics treat chord labels as independent of one anothe...

An Automated Pipeline for Character and Relationship Extraction from Readers' Literary Book Reviews on Goodreads.com

Reader reviews of literary fiction on social media, especially those in ...
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

A salient aspect of being human is our ability to interact with other people and develop various relationships over the period of our lives. While some relationships drive the typical interactions experienced by a pair of people in a top-down manner (e.g. parents customarily love and nurture their children); almost all social (non-family) relationships are driven through bottom-up interactions (e.g. strangers become friends over a good chat or a shared drink) [hinde1976]. For an intelligent agent to truly be a part of our lives, we will need it to assimilate this complex interplay and learn to behave appropriately in different social situations.

We hypothesize that a first step in this direction involves learning how people interact and what their relationships might be. However, training machines with live, real world, experience-based data is an extremely complicated proposition. Instead, we rely on movies that provide snapshots into key moments of our lives, portraying human behavior at its best and worst in various social situations 


Interactions and relationships have been addressed separately in literature. Interactions are often modeled as simple actions [gu2018ava, alonso2010high_five], and relationships are primarily studied in still images [li2017dual, sun2017domain] and recently in videos [liu2019social]. However, we believe that a complete understanding of social situations can only be achieved by modeling them jointly. For example, consider the evolution of interactions and relationships between a pair of individuals in a romantic movie. We see that the characters first meet and talk with each other and gradually fall in love, changing their relationship from strangers to friends to lovers. This often leads to them getting married, followed subsequently by arguments or infidelity (a strong bias in movies) and a falling out, which is then reconciled by one of their friends.

The goal of our work is to attempt an understanding of these rich moments of peoples’ lives. Given short clips from a movie, we wish to predict the interactions and relationships, and localize the characters that experience them throughout the movie. Note that our goals necessitate the combination of visual as well as language cues; some interactions are best expressed visually (e.g. runs with), while others are driven through dialog (e.g. confesses) – see Fig. 1. As our objectives are quite challenging, we make one simplifying assumption - we use trimmed (temporally localized) clips in which the interactions are known to occur. We are interested in studying two important questions: (i) can learning to jointly predict relationships and interactions help improve the performance of both? and (ii) can we use interaction and relationship labels at the clip or movie level and learn to identify/localize the pair of characters involved? We refer to this as weak track prediction. A solution for the first question is attempted using a multi-task formulation operating on several clips spanning the common pair of characters, while the second uses a combination of max-margin losses with multiple instance learning (see Sec. 3).

Contributions. We conduct our study on 51 movies from the recently released MovieGraphs [vicol2018moviegraphs] dataset (see Sec. 4.2). The dataset annotations are based on free-text labels and have long tails for over 300 interaction classes and about 100 relationships. To the best of our knowledge, ours is the first work that attempts to predict interactions and long-term relationships between characters in movies based on visual and language cues. We also show that we can learn to localize characters in the video clips while predicting interactions and relationships using weak clip/movie level labels without a significant reduction in performance.

2 Related Work

We present related work in understanding actions/interactions in videos, studying social relationships, and analyzing movies or TV shows for other related tasks.

Actions and interactions in videos. Understanding actions performed by people can be approached in many different ways. Among them, action classification involves predicting the dominant activity in a short trimmed video clip [kuehne2011hmdb51, soomro2012ucf101], while action localization involves predicting the activity as well as temporal extent [girdhar2019video_transf, shou2017cdc, xu2017r_c3d]. An emerging area involves discovering actions in an unsupervised manner by clustering temporal segments across all videos corresponding to the same action class [alayrac2016unsupervised, kukleva2019unsupervised, sener2018unsupervised].

Recently, there has been an interest in creating large-scale datasets (millions of clips, several hundred classes) for learning actions [abu2016youtube, carreira2017kinetics, diba2019huv, goyal2017something, monfort2019moments] but none of them reflect person-to-person (p2p) multimodal interactions where several complex actions may occur simultaneously. The AVA challenge and dataset [gu2018ava] is composed of 15 minute video clips from old movies with atomic actions such as pose, person-object interactions, and person-person interactions (e.g. talk to, hand wave). However, all labels are based on a short (3 second) temporal window, p2p actions are not annotated between multiple people, and relationship labels are not available. Perhaps closest to our work on studying interactions, Alonso et al[alonso2010high_five] predict interactions between two people using person-centered descriptors with tracks. However, the TV-Human Interactions dataset [alonso2010high_five] is limited to 4 visual classes in contrast to 101 multimodal categories in our work. As we are interested in studying intricate multimodal p2p interactions and long-range relationships, we demonstrate our methods on the MovieGraphs dataset [vicol2018moviegraphs].

Recognizing actions in videos requires aggregation of spatio-temporal information. Early approaches include hand-crafted features such as interest points [laptev2003stip] and Improved Dense Trajectories [wang2013idt]

. With end-to-end deep learning, spatio-temporal 3D Convolutional Neural Networks (

e.g. I3D [carreira2017kinetics]) are used to learn video representations resulting in state-of-the-art results on video understanding tasks. For modeling long-videos, learning aggregation functions [girdhar17action_vlad, miech17loupe], subsampling frames [wang2016tsn], or accumulating information from a feature bank [wu2019long] are popular options.

Relationships in still images. Most studies on predicting social relationships are based on images [gallagher2009understanding, goel2019end, li2017dual, socher2013reasoning, sun2017domain]. For example, the People in Photo Albums (PIPA) [zhang2015pipa] and the People in Social Context (PISC) datasets [li2017dual] are popular among social relationship recognition. The latter contains 5 relationship types (3 personal, 2 professional), and [li2017dual] employs an attention-based model that looks at the entire scene as well as person detections to predict relationships. Alternately, a domain based approach is presented by Sun et al[sun2017domain] that extends the PIPA dataset and groups 16 social relationships into 5 categories based on Burgental’s theory [burgental2000]. Semantic attributes are used to build interpretable models for predicting relationships [sun2017domain].

We believe that modeling relationships requires looking at long-term temporal interactions between pairs of people, something that still image works do not allow. Thus, our work is fundamentally different from above literature.

Social understanding in videos. Understanding people in videos goes beyond studying actions. Related topics include clustering faces in videos [jin2017erdosclustering, tapaswi2019ballclustering], naming tracks based on multimodal information [nagrani2017sherlock, tapaswi2012bbt], studying where people look while interacting [fan2019understanding, marin2019laeo], predicting character emotions [dhall2013emotiw, vicol2018moviegraphs], modeling spatial relations between objects and characters [laxton2007leveraging, sun2018actor, zhang2019gnnava], recognizing actions performed in groups [bagautdinov2017socialscene, deng2016structure], predicting effects for characters [zhou2018movie4d], producing captions for what people are doing [rohrbach2017lsmdc, damen2018epickitchens], answering questions about events, activities, and character motivations [lei2018tvqa, tapaswi2016movieqa, kim2016pororoqa], reasoning about social scenes and events [zadeh2019social_iq, zellers2019vcr], understanding social relationships [liu2019social, vicol2018moviegraphs], and meta-data prediction using multiple modalities [cascante2019moviescope].

Perhaps most related to our work on predicting relationships are [liu2019social, lv2018mmm]. Lv et al[lv2018mmm]

present the first dataset for modeling relationships in video clips, and propose a multi-stream model to classify 16 relationships. More recently, Liu 

et al[liu2019social] propose a graph network to capture long-term and short-term temporal cues in the video. Different from above works, we address predicting relationships between pairs of characters in an entire movie. We propose a joint model for interactions and relationships as they may influence each other, and also localize the characters in the video.

3 Model

In this section, we present our approach towards predicting the interactions and relationships between pairs of characters (Sec. 3.1), and localizing characters in the video as tracks (Sec. 3.2).

Notation. We define as the set of all interaction labels, both visual and spoken (e.g. runs with, consoles); and as the set of all relationship labels between people (e.g. parent-child, friends). We process complete movies, where each movie consists of three sets of information:

  1. Characters , each representing a cluster of all face/person tracks for that character.

  2. Trimmed video clips annotated with interactions
    , where corresponds to a multimodal video clip, is a directed interaction label, and is used to denote the tracks for character in the clip .

  3. Directed relationships between all pairs of characters for all clips . For simplicity of notation, we assign a relationship label to each clip. However, note that relationships typically span more than a clip, and often the entire movie (e.g. parent-child).

For each clip , our goal is to predict the primary interaction , the characters and that perform this interaction, and their relationship . In practice, we process several clips belonging to the same pair of characters as predicting relationships with a single short clip can be quite challenging, and using multiple clips helps improve performance.

We denote the correct pair of characters in a tuple from as , and the set of all character pairs as .

Note that the interaction tuples in may be temporally overlapping with each other. For example, Jack may look at Jill while she talks to

him. We deal with such interaction labels from overlapping clips in our learning approach by masking them out in the loss function.

Figure 2: Normalized correlation map between (selected) interactions and relationships. Darker regions indicate higher scores.
Figure 3: Model architecture. Left: Our input is a trimmed video clip for one interaction, and consists of visual frames and all dialogues within its duration. Each interaction is associated with two characters, and they are represented visually by extracting features from cropped bounding boxes. Modalities are processed using fixed pre-trained models (BERT for textual, I3D for visual) to extract clip representations denoted by . Right: In the second panel, we show the architecture of our joint interaction and relationship prediction model. In particular, multiple clips are used to compute relationships, and we fuse these features while computing interaction labels.

3.1 Interactions and Relationships in a Clip

Fig. 2 shows example correlations between a few selected interactions and all 15 relationships in our dataset. We observe that interactions such as obeys go together with worker-manager relationships, while an enemy may shoot, or pull (a weapon), or commit a crime. Motivated by these correlations, we wish to learn interactions and relationships jointly.

When the pair of characters that interact is known, we predict their interactions and relationships using a multi-modal clip representation . As depicted in Fig. 3, combines features from multiple sources such as visual and dialog cues from the video, and character representations by modeling their spatio-temporal extents (via tracking).

Interactions. We use a two-layer MLP with a classification layer to predict interactions between characters. The score for an interaction in clip is computed as


where represents the sigmoid operator. We learn the clip representation parameters along with the MLP by minimizing the max-margin loss function for each sample



is a ReLU operator,

is the margin, and is the set of interaction labels from clips temporally overlapping with . The loss encourages our model to associate the correct interaction with the clip , while pushing other non-overlapping interaction labels away. During inference, we predict the interaction for a clip as .

Relationships. While interactions are often short in duration (few seconds to a minute), relationships in a movie may last for several minutes to the entire movie. To obtain robust predictions for relationships, we train a model that observes several trimmed video clips that portray the same pair of characters. Let us denote as one such subset of clips that focus on characters and . In the following, we drop the subscripts for brevity.

Similar to predicting interactions, we represent individual clips of using , apply a pooling function (e.g. avg, max) to combine the individual clip representations as and adopt a linear classifier to predict relationships. The scoring function


computes the likelihood of character pair from the clips having relationship . We train model parameters using a similar max-margin loss function


that attempts to score the correct relationship higher than others . Unlike , we assume that a single label applies to all clips in . If a pair of characters change relationships (e.g. from strangers to friends), we select the set of clips during which a single relationship is present. At test time, we predict the relationship as .

Joint prediction of interactions and relationships is performed using a multi-task formulation. We consider multiple clips and train our model to predict the relationship as well as all interactions of the individual clips jointly. We introduce a dependency between the two tasks by concatenating the clip representations for interactions and relationships . Fig. 3 visualizes the architecture used for this task. We predict interactions as follows:


Linear layers include biases, but are omitted for brevity. The loss function now uses , but remains unchanged otherwise. The combined loss function is


where balances the two losses.

3.2 Who is interacting?

Up until now, we assumed that a clip portrays two known characters that performed interaction . However, movies (and the real world) are often more complex, and we observe that several characters may be interacting simultaneously. To obtain a better understanding of videos, we present an approach to predict the characters along with the interactions they perform, and their relationship.

While the interaction or relationship may be readily available as a clip-level label, localizing the pair of characters in the video can be a tedious task as it requires annotating tracks in the video. We present an approach that can work with such weak

(clip-level) labels, and estimate the pair of characters that may be interacting.

Predicting interactions and characters. As a first step, we look at jointly predicting interactions and the pair of characters. Recall that denotes the correct pair of characters in a clip tuple consisting of , and is the set of all character pairs in the movie. We update the scoring function (Eq. 1) to depend on the chosen pair of characters as


where now encodes the clip representation for any character pair (we use zeros for unseen characters). We train our model to predict interactions and the character pair by minimizing the following loss


If we consider the scoring function as a matrix of dimensions , the negative samples are taken from everywhere except columns that have an overlapping interaction label , and the element where . At test time, we compute the character pair prediction accuracy given ground-truth (GT) interaction, interaction accuracy given GT character pair, and joint accuracy by picking the maximum score along both dimensions.

Training with weak labels. When the GT character pair is not known during training, we modify the loss from Eq. 8 by first choosing the pair that scores highest for the current parameters and , that is known during training.


In contrast to the case when we know GT , we discard negatives from the entire column () to prevent minor changes in choosing from suppressing other character pairs. In practice, we treat as a multinomial distribution and sample from it to prevent the model from getting stuck at only one pair. Inference is performed in a similar way as above.

Hard negatives. Training a model with max-margin loss can affect performance if the loss is satisfied () for most negative samples. As demonstrated in [faghri2018vse], choosing hard negatives by using instead of can help improve performance. We adopt a similar strategy for selecting hard negatives, and compute the loss over all character pairs with their best interaction, i.e in Eq. 8 and 10.

Prediction of interactions, relationships, and characters. We present the loss function used to learn a model that jointly estimates which characters are performing what interactions and what are their relationships. Similar to Eq. 7, we first modify the relationship score to depend on :


This is used in a weak label loss function similar to Eq. 10.


During inference, we combine the scoring functions and

to produce a 3D tensor in

. As before, we compute character pair accuracy given GT and , interaction accuracy given GT and , and relationship accuracy given GT and . We are also able to make joint predictions on all three by picking the element that maximizes the tensor over all three dimensions.

4 Experiments

We start by describing implementation details (Sec. 4.1), followed by a brief analysis of the dataset and the challenging nature of the task (Sec. 4.2). In Sec. 4.3 we examine interaction and relationship prediction performance as separate and joint tasks. Sec. 4.4 starts with learning interactions and estimating the pair of characters simultaneously. Finally, we also discuss predicting relationships jointly with interactions and localizing character pairs. We present both quantitative and qualitative evaluation throughout this section.

4.1 Implementation Details

Visual features. We extract visual features for all clips using a ResNeXt-101 model [hara3dcnns] pre-trained on the Kinetics-400 dataset. A batch of 16 consecutive frames is encoded, and feature maps are global average-pooled for the clip representation, and average pooled over a region of interest (ROIPool) to represent characters. Given a trimmed clip

, we max pool above extracted features over the temporal span of the clip to pick the most important segments.

Dialog features. To obtain a text representation, all dialogues are first parsed into sentences. A complete sentence may be as short as a single word (e.g. “Hi.”) or consist of several subtitle lines. Multiple lines are also joined if they end with “…”. Then, each sentence is processed using pre-trained BERT-base model with a masked sentence from the next person if it exists. We supply a mask for every second sentence as done in the sentence pair classification task (for more details, c.f[devlin2018bert]). We max pool over all sentences uttered in a trimmed clip to obtain a final representation.

Note that every clip always has a visual representation. In the absence of dialog or tracks, we set the representations for missing modalities to 0.

Clip representation

. We process the feature vector corresponding to each modality obtained after max pooling over the temporal extent with a two-layer MLP. Dropout (with

), ReLU and non-linearities are used in the MLP. The final clip representation is a concatenation of all modalities (see Fig. 3 left).

Multi-label masking. As multiple interactions may occur at the same time or have overlapping temporal extents with other clips, we use masking to exclude negative contributions to the loss function by such labels. , the labels corresponding to the set of clips overlapping with , are created by checking for an overlap (IoU) greater than 0.2.

Learning. We train our models with a batch size of 64, and use the Adam optimizer with a learning rate of 3e-5.

4.2 Dataset

We evaluate our approach on the MovieGraphs dataset [vicol2018moviegraphs]. The dataset provides detailed graph-based annotations of social situations for 7600 scenes in 51 movies. Two main types of interactions are present—detailed interactions (e.g. laughs at) last for a few seconds and are often a part of an overarching summary interaction (e.g. entertains) that may span up to a minute. We ignore this distinction for this work and treat all interactions in a similar manner. These hierarchical annotations are a common source of multiple labels being associated with the same timespan in the video.

The total number of interactions is different from the number of p2p instances as some interactions involve multiple people. For example, in an interaction where a couple ( and ) listens to their therapist (), two p2p instances are created: and .

The dataset is partitioned into train (35 movies), validation (7 movies) and test (9 movies) splits. The train set consists of 15,516 interactions (and 20,426 p2p instances) and 2,676 pairs of people with annotated relationships. Validation and test sets have 3,992 and 5,380 p2p instances respectively, and about 600 relationship pairs each.

Missing labels. A relationship label is available for 64% of the interactions in which at least two people participate. For a pair of people associated with an interaction, both have track features for 76% of the dataset. In other cases one or no characters appear due to failure in tracking or being out of the scene. For evaluation, we only consider samples that have a relationship, or when a pair of characters appear.

Merging interaction and relationship labels. We reduce the number of interaction labels from 324 to 101, and relationships from 106 to 15 to mitigate severe problems of long tail with only 1-3 samples per class. However, the merging does not adversely affect the diversity of classes, e.greassures, wishes, informs, ignores are different interactions in our label set related to communication.

We adopt a hierarchical approach to merge interactions. Firstly, all classes are divided into 4 categories: (i) informative or guiding (e.gexplains, proposes, assists, guide) (ii) involving movement (e.ghits, plays, embraces, catches); (iii) neutral valence (e.gavoids, pretends, reads, searches); and (iv) negative valence (e.gscolds, mocks, steals, complains). Within each of the subclasses we merge interactions based on how similar their meanings are in common usage – this process is verified by multiple people.

We also reduce the number of relationships to 15 major classes: stranger, friend, colleague, lover, enemy, acquaintance, ex-lover, boss, worker, manager, customer, knows-by-reputation, parent, child and sibling.

Directed interactions and relationships are used between one person to another. For example when a parent informs child, the opposite directed interaction from the child to their parent can be listens to or ignores. Additionally, interactions and relationships can also be bidirectional, both people act with the same intention e.glovers kiss each other.

4.3 Predicting Interactions and Relationships

Modalities Interaction Accuracy
Visual Dialog Tracks Top-1 Top-1 Soft Top-5
- - 18.7 24.6 45.8
- - 22.4 30.1 50.6
- 25.0 31.9 54.8
26.1 32.6 57.3
Table 1: Interaction prediction accuracy for different modalities.

We first present results for predicting interactions and relationships separately, followed by our joint model.

Interaction classification. We analyze the influence of each modality for interaction classification separately in Table 1. Dialogs have a stronger impact on model performance as compared to visual features owing to the prevalence of conversation based interactions in movies. However, both modalities are complementary and when taken together provide a 2.6% increase in accuracy. As expected, combining all modalities including tracks for each participating character provide the highest prediction accuracy at 26.1%.

Apart from accuracy, we report soft accuracy, a metric that treats a prediction as correct when it matches any of the interactions overlapping with the clip, i.e. When using all modalities, we achieve 32.6% accuracy.

In Fig. 4 we see two example interactions that are challenging to predict based on visual cues alone. In the top example, we see that the ground-truth label reads is emphasized, possibly due to the dialog mentioning letters, and is chosen with highest score upon examining the visual tracks. The bottom example is an interesting case where no dialog (all 0 vector) helps predictions. In this case, our model seems to have learned that leaving corresponds to walking without any dialog. Again, by including information about tracks, our model is able to predict the correct label.

We also investigate the influence of different temporal feature aggregation methods in Table 4. Max-pooling outperforms both average and sum as it allows to form the clip-level representations including the most influential segments.

Figure 4: Influence of different modalities on interaction prediction performance. In each example, we show the top 5 interactions predicted by the visual cues (left), the visual + dialog cues (center), and visual + dialog + track information (right). The correct label is marked with a green bounding rectangle. Discussion in Sec. 4.3.
Figure 5: Relationship accuracy increases as we analyze more clips. We choose 18 clips as a trade-off between performance and speed.

Relationship classification. Relationships are often consistent for long durations in a movie. For example, strangers do not become friends in one moment, and parents always stay parents. We hypothesize that it is challenging to predict a relationship by watching one interaction, and show the impact of varying the number of clips (size of ) in Fig. 5

. We see that the relationship accuracy improves steadily as we increase the number of clips. The drop at 6 clips is within variance. We choose 18 clips as a trade-off between performance and speed. During training, we randomly sample up to 18 clips for the same pair of people having the same relationship. At test time, the clips are fixed and uniformly distributed along all occurrences of pairs of character.

Task Random Int. only Rel. only Joint
Interaction 0.99 26.1 - 26.3
Relationship 6.67 - 26.8 28.1
Table 2: Top-1 accuracy for the joint prediction of Int. and Rel.
Method Int. Rel. Rel. Int. 25.3 26.8 Rel. Int. 26.3 25.9 Rel. Int. 26.3 28.1
Table 3: Different architectures for joint modeling of interactions and relationships.
Method Int. avg 24.2 sum 25.4 max 26.1
Table 4: Impact of temporal aggregation methods on interaction accuracy.

Joint prediction for interactions and relationships. We set the loss trade-off parameter and jointly optimize the network to predict interactions and relationships. We evaluate different options on how the two tasks are modeled jointly in Table 4. Overall, concatenating relationship feature for predicting interactions performs best (Rel. Int.). Table 2 shows that the relationship accuracy improves by 1.3%, while interactions gain a meagre 0.2%.

On further study, we observe that some interactions achieve large improvements, while others see a drop in performance. For example, interactions such as hugs (+17%), introduces (+14%), and runs (+12%), are associated with specific relationships: siblings, child, lover with hugs; enemy, lover with runs. On the other hand, a few other interactions such as talks to, accuses, greets, informs, yells see a drop in performance from 1-8%, perhaps as they have the same top-3 relationships: friend, colleague, stranger.

Relationships show a similar trend. Sibling, acquaintance, lover correspond to specific interactions such as hugs, greets, kisses and improve by 11%, 8%, and 7% respectively. While boss and manager have rather generic interactions asks, orders, explains and reduce by 5-7%.

We observe that joint learning does helps improve performance. However, interactions performed by people with common relationships, or relationships that exhibit common interactions are harder for our joint model to identify leading to small overall improvement. We believe this is made harder due to the long tail classes.

4.4 Localizing Characters

Supervision Negatives Multinom. Accuracy
Sampling Int. Character Joint
Random - - 0.99 15.42 0.15
Full sum - 25.5 55.0 14.2
Weak sum - 18.9 20.0 4.6
Weak sum 25.1 25.0 7.8
Weak sum-max 23.0 32.3 8.2
Table 5: Joint prediction of interactions and character pairs for fully and weakly supervised settings. See Sec. 4.4 for a discussion.

We present an evaluation of character localization and interaction prediction in Table 5. We report interaction accuracy given the correct character pair; character pair prediction accuracy given the correct interaction; and the overall accuracy as joint.

Training with full supervision. In the case when the pair of characters are known (ground-truth pair is given), we achieve 25.5% accuracy for interactions. This is comparable to the setting where we only predict interactions (at 26.1%). We believe that the difference is due to our goal to maximize the score for the correct interaction and character pair over the entire matrix . The joint accuracy is 14.2%, significantly higher than random at 0.15%.

Training with weak supervision. Here, interaction labels are applicable at the clip-level, and we are unaware of which characters participate in the interaction even during training. Table 5 shows that sampling a character pair is better than in Eq. 9

(4.6% vs. 7.8% joint accuracy) as it prevents the model from getting stuck at a particular selection. Furthermore, switching training from sum over all negatives to hard negatives (sum-max) after a burn-in period of 20 epochs further improves accuracy to 8.2%.

Figure 6: Example for joint prediction of interaction (Int), relationship (Rel), and character pair (Char) by our model. The visual clip, dialog, and possible track pairs are presented on the left. Given 2 pieces of information, we are able to answer the third: Who? Int + Rel Char; Doing what? Char + Rel Int; and What relationship? Char + Int Rel. We can also jointly predict all three components by maximizing scores along all dimensions of the 3D tensor. Best seen on screen with zoom.
Supervision Negatives Multinom. Accuracy
Sampling Int. Rel. Char. Joint
Random - - 0.99 6.67 15.42 0.01
Full sum - 25.8 16.6 88.3 2.71
Weak sum 25.8 12.0 42.0 0.86
Weak sum-max 20.8 21.8 33.9 2.14
Table 6: Joint interaction, relationship, and character pair prediction accuracy. Other labels are provided when predicting columns: Int., Rel., and Char. See Sec. 4.4 for a discussion.

Joint character localization, interaction and relationship prediction is presented in Table 6. In the case of learning with GT character pairs (fully supervised), including learning of relationships boosts accuracy for predicting character pairs to an impressive 88.3%. The interaction accuracy also increases to 25.8% as compared against 25.5% when training without relationships (Table 5).

When learning with weak labels, we see similar trends as before. Both multinomial sampling and switching from all (sum) to hard (sum-max) negatives improves the joint accuracy to a respectable 2.14% as compared to 2.71% with full supervision. Fig. 15 shows an example prediction from our dataset. We present joint prediction when no information is provided in part d in contrast to parts a, b, c where two of three pieces of information are given.

Test set.

All methods Supervision Accuracy
Int. Rel. Char. Joint
Int only - 20.7 - - -
Rel only - - 22.4 - -
Int + Rel - 20.7 20.5 - -
Int + Char Full 19.7 - 52.8 11.1
Int + Char Weak 17.9 - 29.7 6.34
Int + Rel + Char Full 20.0 18.6 88.8 2.29
Int + Rel + Char Weak 15.6 29.6 21.6 1.50
Table 7: Evaluation on the test set. The columns Int., Rel, and Char refer to interaction, relationship, and character pair prediction accuracy. During joint learning with full/weak supervision, individual accuracies are reported when other labels are given.

Table 7 compiles results of all our models on the test set. We see similar trends, apart from a drop in relationship accuracy due to different val and test distributions.

Overall, we observe that learning interactions and relationships jointly helps improve performance, especially for classes that have unique correspondences, but needs further work on other categories. Additionally, character localization is achievable and we can train models with weak labels without significant drop in performance.

5 Conclusion

We presented new tasks and models to study the interplay of interactions and relationships between pairs of characters in movies. Our neural architecture efficiently encoded multimodal information in the form of visual clips, dialog, and character pairs that were demonstrated to be complementary for predicting interactions. Joint prediction of interactions and relationships was found to be particularly beneficial for some classes. We also presented an approach to localize character pairs given their interaction/relationship labels at a clip-level, i.e. without character-level supervision during training. We will share modifications made to the MovieGraphs dataset to promote future work in this exciting area of improving understanding of human social situations.


This project was partially supported by the Louis Vuitton - ENS Chair on Artificial Intelligence and the French government under Agence Nationale de la Recherche as part of “Investissements d’avenir” program, reference ANR-19-P3IA-0001 (PRAIRIE 3IA Institute).


Appendix A Impact of Modalities

We analyze the impact of modalities by presenting qualitative examples where using multiple modalities help predict the correct interactions. Qualitative results presented here, refer to the quantitative performance indicated in Table 1. Fig. 7 shows that using dialog can help to improve predictions, Fig. 8 demonstrates the necessity of visual clip information and highlights that the two modalities are complementary. Finally, Fig. 9 shows that focusing on tracks (visual representations in which the two characters appear) provides further improvements to our model. Furthermore, Fig. 10 shows top-5 interaction classes that benefit most from using additional modalities.

Analyzing modalities. We also analyze the two models trained on only visual or only dialog cues (first two rows of Table 1). Some interactions can be recognized only with visual (v) features: rides 63% (v) / 0% (d), walks 29% (v) / 0% (d), runs 26% (v) / 0% (d); while others only with dialog (d) cues: apologizes 0% (v) / 66% (d), compliments 0% (v) / 26% (d), agrees 0% (v) / 25% (d).

Interactions that achieve non-zero accuracy with both modalities are: hits 64% (v) / 5% (d), greets 12% (v) / 57% (d), explains 25% (v) / 51% (d).

Additionally, the top-5 predicted classes for visual cues are asks 77%, hits 64%, rides 63%, watches 49%, talks on phone 41%; and dialog cues are asks 75%, apologizes 66%, greets 57%, explains 51%, watches 30%. As asks is the most common class, and watches is the second most common, these interactions work well with both modalities.

Appendix B Joint Interaction and Relationships

Confusion matrices. Fig. 11

shows the confusion matrix in the top-15 most commonly occurring interactions on the validation and test sets. We see that multiple dialog based interactions (

e.g. talks to, informs, and explains) are often confused. We also present confusion matrices for relationships in Fig. 12. A large part of the confusion is due to lack of sufficient data to model the tail of relationship classes.

Qualitative examples. Related to Table 2, Fig. 13 shows some examples where interaction predictions improve by jointly learning to model both interactions and relationships. Similarly, Fig. 14 shows how relationship classification benefits from our multi-task training setup.

Appendix C Examples for Who is Interacting

Empirical evaluation shows that the knowledge about the relationship is important for localizing the pair of characters (Table 6). In Fig. 15, we illustrate an example where the dad walks into a room, sees his daughter with someone, and asks questions (see figure caption for details).

Finally, in Fig. 16, we show an example where the model is able to correctly predict all components (interaction class, relationship type and the pair of tracks) in a complex situation with more than 2 people appearing in the clip.

Appendix D Dataset Analysis

Fig. 17 and Fig. 18

show normalized distributions for the number of samples in each class for train, validation and test sets of interactions and relationships respectively. As can be seen the most common classes appear many more times than the others. Data from a complete movie belongs to one of the three train/val/test sets to avoid model bias on the plot and characters behaviour. Notably, this means that the relative ratios between number of samples per class are also not necessarily consistent making the dataset and task even more challenging.

In the main paper, we described our approach to group over 300 interactions into 101 classes, and over 100 relationships into 15. We use radial tree diagrams to depict the groupings for interaction and relationship labels, visualized in Fig. 19 and 20 respectively.