DeepAI
Log In Sign Up

Recipe Generation from Unsegmented Cooking Videos

09/21/2022
by   Taichi Nishimura, et al.
0

This paper tackles recipe generation from unsegmented cooking videos, a task that requires agents to (1) extract key events in completing the dish and (2) generate sentences for the extracted events. Our task is similar to dense video captioning (DVC), which aims at detecting events thoroughly and generating sentences for them. However, unlike DVC, in recipe generation, recipe story awareness is crucial, and a model should output an appropriate number of key events in the correct order. We analyze the output of the DVC model and observe that although (1) several events are adoptable as a recipe story, (2) the generated sentences for such events are not grounded in the visual content. Based on this, we hypothesize that we can obtain correct recipes by selecting oracle events from the output events of the DVC model and re-generating sentences for them. To achieve this, we propose a novel transformer-based joint approach of training event selector and sentence generator for selecting oracle events from the outputs of the DVC model and generating grounded sentences for the events, respectively. In addition, we extend the model by including ingredients to generate more accurate recipes. The experimental results show that the proposed method outperforms state-of-the-art DVC models. We also confirm that, by modeling the recipe in a story-aware manner, the proposed model output the appropriate number of events in the correct order.

READ FULL TEXT VIEW PDF

page 1

page 6

page 9

02/05/2021

GraphPlan: Story Generation by Planning with Event Graph

Story generation is a task that aims to automatically produce multiple s...
09/08/2019

Story Realization: Expanding Plot Events into Sentences

Neural network based approaches to automated story plot generation attem...
06/05/2017

Event Representations for Automated Story Generation with Deep Neural Nets

Automated story generation is the problem of automatically selecting a s...
06/24/2020

Comprehensive Information Integration Modeling Framework for Video Titling

In e-commerce, consumer-generated videos, which in general deliver consu...
10/16/2012

Semantic Understanding of Professional Soccer Commentaries

This paper presents a novel approach to the problem of semantic parsing ...
05/31/2020

"Judge me by my size (noun), do you?” YodaLib: A Demographic-Aware Humor Generation Framework

The subjective nature of humor makes computerized humor generation a cha...
05/04/2022

Go Back in Time: Generating Flashbacks in Stories with Event Temporal Prompts

Stories or narratives are comprised of a sequence of events. To compose ...

I Introduction

With a rapid increase of cooking videos uploaded on the web, multimedia food computing has become an important topic [29, 28, 24, 25, 34, 39]. Among various developing technologies, recipe generation from unsegmented cooking videos [30]

is challenging. It requires artificial agents to (1) extract key events that are essential to dish completion and (2) generate sentences for the extracted events. This task is important for both scene understanding and real-world applications. In terms of scene understanding, (1) and (2) are recognized as temporal event localization

[41, 8] and video captioning [17, 31, 22]

, respectively, and learning both simultaneously is an ambitious challenge in computer vision (CV) and natural language processing (NLP). Meanwhile, from a perspective of real-world applications, this technology can support people learning new skills by providing key events and their explanation sentences as a multimedia summarization of cooking videos. These academic and industrial motivations impel us to tackle recipe generation from unsegmented cooking videos.

Our task is similar to dense video captioning (DVC) [16, 36, 5], which aims at detecting events densely

from videos and generating sentences for them. Although the input/output pairs of our task (video/(events, sentences)) and that of the DVC are of the same format, our task is different from the perspective of the recipe’s story awareness. DVC allows agents to exclusively detect false-positive events in its evaluation metrics; our task, on the other hand, requires them to extract the accurate number of key events in the correct order. Fujita

et al[9] reported that DVC models produced more than 200 redundant events per video on average on the ActivityNet captions dataset [16] while the number of manually-annotated events is only 3-4. Such redundant events and sentences make it difficult for users to grasp an overview of the video content.

Fig. 1: Concept overview of our approach. Based on the output events from existing DVC models, the proposed method selects events that are suitable as a story of recipes and generates sentences grounded with the extracted events.

Although the events predicted by DVC models are redundant, we observed that (1) several events are adoptable as a story of a recipe, but (2) the generated sentences for such events are not grounded well to the visual contents (i.e., ingredients and actions in the sentences are incorrect). We confirm this by analyzing the outputs of the state-of-the-art DVC model. We refer to the DVC output events as event candidates. Through an approach that we refer to as oracle selection, we select events that have the maximum temporal IoU (tIoU) to ground-truth events (i.e., manually-annotated events) and compute the DVC scores [9, 16]. The results support our observations. Although oracle selection ensures that events that are adoptable as the story of a recipe are selected, the obtained sentences are not grounded in the visual content.

Our task requires models to predict the next step for the story of a recipe by memorizing previously predicted events and generated sentences. For example, in Fig. 1, to generate “egg mixture” in step 3, the models should memorize the visual and textual content of step 2. Existing DVC approaches do not consider them explicitly; thus they miss or hallucinate ingredients (e.g., say ingredients that do not appear in the video), resulting in performance degradation. Based on this, our hypothesis is that we can obtain correct recipes by selecting oracle events from the event candidates and re-generating sentences for them (Fig. 1).

To achieve this, we propose a novel transformer[32]-based joint learning approach of an event selector and sentence generator. The event selector selects oracle events from the event candidates in the correct order, and the sentence generator generates a recipe that is grounded with the events. Both of the modules have memory representations as with [17], which enables the model to predict the accurate number of events in the correct order by remembering previously selected events and generated sentences. Moreover, the model is designed to be trainable in an end-to-end manner because the modules of the model are connected without breaking a differentiable chain. We refer to this model as the base model.

We also propose an extended model that can generate more accurate recipes in the settings where the inputs are videos with ingredients as in [22, 38]. The task requires agents to describe detailed manipulations of ingredients from cooking videos. To achieve this goal, our extended model has two additional modules: (1) a dot-product visual simulator and (2) a textual attention module. The dot-product visual simulator is introduced by the insights from our previous work [22], where we discovered that the manipulations change the state of the ingredients, yielding state-aware visual representations. In Fig. 1, “eggs” are transformed into “cracked” then “stirred” form to cook scrambled eggs. To address this, we introduced the visual simulator, which reasons about the state transition of ingredients, into the model. The motivation of the extension is the difference in the inputs. Although in our previous work, the inputs are pre-segmented ground-truth events with ingredients, the inputs in this work are event candidates. The dot-product visual simulator accepts them and reasons about the state transition of ingredients. Furthermore, we also introduce a textual attention module that verbalizes grounded ingredients and actions in the recipes. These modules are effective for grounded recipe generation from cooking videos.

In our experiments, we use the YouCook2 [41] dataset, which contains 2,000 videos with event/sentence annotation pairs. The proposed method outperforms the state-of-the-art DVC approaches based on commonly used DVC metrics. In addition, the extended models boost the model’s performance. We also show that the proposed models can select the correct number of events that effectively reflects the ground-truth events. In addition, our qualitative evaluation reveals that the proposed approaches can select events in the correct order and generate recipes grounded in the video contents. We discuss the detailed experiment settings for optimal recipe generation.

Ii Related Work

In this section, we describe the novelty of the proposed method in line with other works on recipe generation from visual observations (Section II-A) and general video captioning (Section II-B).

Ii-a Recipe generation from visual observations

Recipes are a popular target in the NLP community because they require artificial agents to generate coherent sentences [14, 2]. The inputs of these works are the title and ingredients of recipes. Recently, many multimodal cooking datasets have appeared [29, 10] and recipe generation from images has also been proposed [28, 34]. Salvador et al[28] tackled this problem using a transformer-based model [32] to generate high-quality recipes from a single image of a completed dish. Other researchers focus on generating a recipe from an image sequence depicting the intermediate food states [4, 21, 23].

The essential limitation of generating recipes from images is the lack of detailed, continuous scene information of human manipulations, which images do not contain. Hence, this task is essentially an ill-posed problem; that is, it depends on the obtained language model to generate correct actions. Meanwhile, videos contain this information and have been attracting the attention of many researchers in recent years [22, 38, 30, 31]. As described in Section I, this task requires agents to (1) extract key events from videos and (2) generate grounded sentences for events. Most researchers have focused on (2) generating grounded recipes from pre-segmented key events [22, 31, 38]; only few researchers attempt to learn both (1) and (2) to generate recipes from unsegmented videos. Shi et al[30] are pioneer researchers that have tackled this problem by utilizing the narration of videos effectively. Although this approach is effective for narrated videos, transcription is not always available for all cooking videos. Speaking during cooking or adding narration to videos requires significant effort. In addition, narrations may lead the model to attend to textual features, ignoring the visual features of videos. Our task extends their work to generate recipes only from videos. This enables the model to treat even non-narrated videos and be more useful than the previous setting.

Ii-B Video captioning

Video captioning is an attractive field for both CV and NLP communities. The task settings of video captioning vary according to the nature of the input video (e.g., one short event, pre-defined key events, or long unsegmented video). Our aim is to extract key events and generate sentences simultaneously from long unsegmented videos. This task is similar to DVC because the input/output pairs are in the same format as in our task. We first describe traditional DVC approaches and then enumerate the difference between DVC and our task.

DVC aims at densely detecting events from the video and generating sentences for them. Recently, transformer-based approaches are well investigated for this task. Zhou et al[40] proposed a Masked Transformer, which detects events and generates sentences via a differentiable mask in an end-to-end manner. Their approach, however, outputs more than 200 redundant events per video on average [9]. To handle this issue, Wang et al[36] proposed PDVC, which detects events in parallel, re-ranks the top ( is also the prediction target), and generates sentences for the re-ranked events. Deng [5] proposed a top-down DVC approach, whereby whole sentences generated for the video are aligned into timestamps, based on which the sentences are refined.

The key difference between our task and DVC lies in the story awareness of recipes. Our task requires agents to extract an appropriate number of events in the correct order. DVC allows a model to detect events densely; however, redundant event/sentence pairs impede readability, and users are unable to grasp an overview of the video contents. To achieve story awareness, we propose a transformer-based joint learning approach of an event selector and sentence generator based on our observation that oracle events can be selectable from the output events of a DVC model.

Iii Oracle-based Analysis of the Existing DVC Model

dvc_eval SODA
BLEU METEOR CIDEr-D METEOR CIDEr-D tIoU
PDVC (reproduced) 0.89 4.52 21.50 3.98 25.30 27.80
Oracle
N=25 0.58 6.09 27.12 7.62 26.32 56.55
N=50 0.84 6.92 31.63 8.83 29.93 64.58
N=100 0.97 7.68 36.26 9.64 35.08 71.16
N=200 1.10 8.15 38.60 10.43 36.89 76.71
TABLE I: Word-overlap metrics of the oracle selection on the YouCook2 dataset. represents the number of candidate events, a hyper-parameter of PDVC. The bold scores are the best among the comparative settings.
Fig. 2: tIoU distribution of oracle events on the training and validation sets of YouCook2.

As Fujita et al[9] reported, the outputs of DVC models are redundant. However, we observed that although (1) several events are adoptable as a story of a recipe, (2) the generated sentences for such events are not grounded well in the visual contents. To verify this, we analyze the outputs of the state-of-the-art DVC model. Specifically, we select events with the maximum tIoU scores to ground-truth events from event candidates and compute the DVC scores, an approach referred to as oracle selection hereinafter. The analyzed results demonstrate that the oracle selection boosts the performance, especially on story-oriented DVC metrics.

We use the YouCook2 dataset [41], one of the largest cooking video-and-language datasets. For the DVC model, we employ PDVC [36], the state-of-the-art DVC model. It detects events densely and then re-ranks the top of them for its outputs. Note that is a hyper-parameter111 is set to be a sufficiently large number. For YouCook2, the authors of [36] set to be as a default parameter. and is the prediction target. We adopt this model because it achieves the best performance on DVC tasks and it is easy to control before training the model. We use the detected events for the analysis, not the re-ranked events.

Evaluation metrics. We use two commonly-used DVC metrics: dvc_eval [16] and SODA [9].

  • dvc_eval firstly computes tIoU of all the combinations between the prediction and ground-truth events, and then computes word-overlap metrics (e.g., METEOR or CIDEr-D), if the tIoU scores are over the threshold . ranges from to by . Their average is the output score of these metrics.

  • SODA stands for story-oriented dense video captioning evaluation, whereby the story awareness of the output events is evaluated. Specifically, it uses dynamic programming to explore an alignment of events between prediction and ground-truth for obtaining the maximum story scores. The story scores are computed as a product of tIoU and word overlap metrics. Because SODA evaluates the predicted events by penalizing redundant outputs, it is suitable for computing the story awareness of recipes.

SODA evaluates whether the output event/sentence pairs are appropriate as a story; thus, it is rated above dvc_eval in this study. As word-overlap metrics, we use BLEU [26], METEOR [1], and CIDEr-D [33], which are commonly-used metrics for text generation tasks. We also introduce SODA tIoU, which computes story scores as tIoU scores, rather than a product of tIoU and word overlap metrics. These metrics can evaluate whether the selected events are appropriate as components of the generated recipes. In this analysis, we range from and .

Iii-a Quantitative evaluation

Table I shows the results of the oracle selection on dvc_eval and SODA metrics, indicating that the oracle selection outperforms the PDVC. Specifically, the SODA scores of the oracle selection are quite better than that of the PDVC, demonstrating that the generated recipes are more suitable as a story than the ones generated by the PDVC.

Fig. 2 shows the distribution of tIoU scores of the oracle events on training and validation sets. The number of candidate events was directly proportional to the average tIoU. This is because the more was, the more suitable oracle events appear in the candidate. Both the training and validation sets confirm this tendency.

Iii-B Qualitative evaluation

Fig. 3: Comparison of the recipes generated by the oracle selection and ground truth. , which is a default hyper-parameter of PDVC, is used in this example.

Fig. 3 shows a comparison of the recipes generated by the oracle selection and ground truth. The selected event timestamps are close to the ground-truth events, indicating that the appropriate selection can construct the correct recipes. However, the sentences differ from the ground truth, the ingredients, especially, are different from the ground truth (e.g., “baking soda”, “salt”, and “pepper” are missing in step (1)).

The main reason for this error is that the model does not consider previously predicted events and sentences. This causes the model to miss or hallucinate ingredients and motivates us to propose a model that re-generates sentences for the predicted events, rather than using the corresponding generated sentences without modification.

Iv Proposed method

Fig. 4: Joint learning approach of the event selector and sentence generator for recipe generation from unsegmented cooking videos. The event selector chooses oracle events from event candidates repeatedly and the sentence generator outputs sentences for the selected events. The memories are updated to remember the history of the outputs (selected events/generated sentences) and are used in the subsequent steps.

Based on the oracle-based analysis, we hypothesize that we can obtain correct recipes by selecting oracle events from the output events of the DVC model and re-generating sentences for them. Our task requires models to predict the next step for the story of a recipe by memorizing previously predicted events and generated sentences. To achieve this, we propose a joint learning approach of event selection module and sentence generation module (Fig. 4), which are memory-augmented recurrent transformers [17]. The event selection module and sentence generation module are referred to as event selector and sentence generator, respectively. The event selector chooses oracle events from event candidates repeatedly and the sentence generator outputs sentences for the selected events. The memories are updated to remember the history of the outputs (selected events/generated sentences) and used in the next steps.

We formulate this task using notations. Let be event candidates, where consists of start and end timestamps. Note that is sorted on the start time of the events in chronological order. Given , the model generate pairs , where , , and represent an index of the oracle event candidates, corresponding generated sentences, and the number of the selected events, respectively. The memories in the event selector and in the sentence generator are updated at each step, where represents the layer number of transformers.

Iv-a Event selector

The event selector can be divided into two main components: event encoder and event transformer. The event encoder converts given candidate events into event-level representations , based on which the event transformer outputs a holistic representations of events

. They are used for computing event probabilities, which represent the likelihood of oracle events. We apply Gumbel softmax resampling

[13] to select events and forward them to the sentence generator without breaking a differentiable chain during the training phase. In the inference phase, events are deterministically selected by applying argmax to event probabilities.

Event encoder. The event encoder converts events into representations . First, we extract event clips from the video, according to the start and end time of , and input them into pre-trained visual encoders. One of the straightforward ways to encode events is to average frame-level image representations extracted by ResNet [11]. However, we find that this approach is unable to capture fine-grained event semantics for overlapped events. For example, assuming that the ground-truth event is a scene of cutting potatoes, and the event candidates have two scenes, where one is a scene of cutting potatoes and tomatoes, and another is of cutting only potatoes. We expect the model to select the latter scene because the former contains extra information of cutting tomatoes. Representing events based on the average of frame-level features cannot capture the semantic difference of these events effectively. Thus, it is necessary to employ an event encoder that focuses on extracting fine-grained event-level semantics.

To achieve this, we focus on multiple instance learning-noise contrastive estimation (MIL-NCE) model

[18] pre-trained on Howto100M [19]. The model is trained on more than 100M pairs of an event with narration, and it can capture event-level semantics of overlapped events. Using this encoder, we obtain event-level representations as . Then, the positional encoding (PE) [32] and relative encoding of events [37] are added to .

Event transformer. Given , the event transformer outputs holistic representations of events . This module is based on the memory-augmented recurrent transformer [17], where each layer has the memories

to remember the history of the selected events. The output vectors

and memories are used to compute -th event probability as follows:

(1)
(2)

where

represents an element-wise max-pooling of vectors. During training, the event selector selects events through a Gumbel softmax resampling

[13]

, which enables us to train the model in an end-to-end manner without breaking a differentiable chain. This indicates that the loss computed on the sentence generator is backpropagated to the event selector. During inference, the model selects event index based on the argmax of

.

Iv-B Sentence generator

Based on the selected event representations, the sentence generator outputs sentences grounded for them. Let the selected event index be , and the selected event representation can be written as . This vector is added to the word vectors

from the word embedding layer, which is the concatenated neural networks of the pre-trained global vectors for word representation (GloVe)

[27]222We employ pre-trained 300D word embedding, which can be downloaded from http://nlp.stanford.edu/data/glove.6B.zip

and one-layer perceptron with ReLU activation. We also add PE to word vectors

and input them into the sentence transformer, another memory-augmented recurrent transformer. The model generates words repeatedly by applying softmax and argmax operations to the output vectors of the sentence transformer.

Iv-C Memory update

The memory modules in the event and sentence transformers can be separately updated, according to the memory update equation given in the original paper [17]. However, intuitively, mixing memories is effective for coherent recipe generation because the history of the selected events contributes to recipe generation and vice versa. To achieve this, we update the memory modules by mixing them as follows:

(3)
(4)

where represents a single linear layer and

represents the Hadamard dot product and sigmoid function, respectively. The obtained

and are forwarded into the next step.

Iv-D Loss functions

To train the model in an end-to-end manner, we sum up two types of losses: event selection loss and sentence generation loss. These losses are formulated as a negative log-likelihood of the event selection and sentence generation tasks as follows:

(5)
(6)
(7)

where and represents the total, event selection, and sentence generation losses, respectively.

V Extended model

Fig. 5: Overview of the extended model for recipe generation from unsegmented cooking videos. To generate more accurate recipes, it has additional two modules: (1) dot-product visual simulator and (2) textual attention. The dot-product visual simulator is introduced by the insights based on our previous work [22] to learn the state transition of ingredients. The textual attention module encourages the sentence generator to verbalize actions and ingredients more accurately.
Fig. 6: Overview of the extended dot-product visual simulator that reasons about the state transition of ingredients. It has three components: (1) action selector, (2) ingredient selector, and (3) updater. The dot-product attention is employed to treat the event candidates.

In addition to the base model, we also propose an extended model that can generate more grounded recipes in the settings where the inputs are videos with ingredients, as in [22, 38]. This task requires agents to describe detailed manipulations of ingredients from cooking videos.

To achieve this goal, our extended model has two additional modules: (1) dot-product visual simulator and (2) textual attention module (Fig. 5). The dot-product visual simulator is introduced based on the insights from our previous work [22]. In our previous work, we discovered that the manipulations change the state of the ingredients, yielding state-aware visual representations. For example, “eggs” are transformed into “cracked,” then “stirred” form to cook scrambled eggs. To address this, we introduced the visual simulator into the model, which reasons about the state transition of ingredients. Although pre-segmented ground-truth events with ingredients are regarded as input in our previous work, they are considered event candidates with ingredients in this study. Thus we extend it to the dot-product visual simulator described in Section V-A. In addition, we also introduce a textual attention module that verbalizes grounded ingredients and actions in the recipes. These modules are effective for grounded recipe generation from cooking videos.

Another extension is to add an ingredient encoder to convert ingredients into representations . The ingredient encoders are concatenated neural networks of pre-trained GloVe [27]

word embedding and multi-layer perceptrons (MLPs) with ReLU activation function and are added to the event selector and sentence generator without sharing their parameters. Multi-word ingredients (e.g., parmesan cheese) are represented by the average embedding vector of the words. They are concatenated with event/word representations and inputted to the event/sentence transformers as shown in Fig.

5.

V-a Dot-product visual simulator

We first revisit the original visual simulator and then describe how we extend it to the dot-product visual simulator.

Visual simulator revisit. In the original study, the inputs are the pairs of ingredients and ground-truth events. Let and be the ingredient and ground-truth event vectors encoded by ingredient encoder (e.g., GloVe) and event encoder (e.g., MIL-NCE), respectively. Given , the visual simulator reasons about the state transition of the ingredients by updating them at each -th step. To this end, it consists of three components: (1) action selector, (2) ingredient selector, and (3) updater. The action selector and ingredient selector predict executed actions and used ingredients at -th step. Based on the selected actions/ingredients, the -th ingredient vectors are updated into -th new proposal ingredient vectors , which are forwarded into the next step. The visual simulator recurrently repeats the above process until processing the end element of the ground-truth events.

Proposed extension. The proposed model is similar to the visual simulator because it also has the same three components to update the ingredient vectors. However, instead of the ground-truth event vectors , the event candidates are assumed to be the inputs in this study, that is, the model needs to predict not only the actions/ingredients but also the events that constitute the recipe story.

To achieve this, we extend the visual simulator into the dot-product visual simulator shown in Fig. 6. It computes the relationships between action-to- and ingredient-to-events as attention matrices and outputs four vectors: action-weighted and ingredient-weighted event vectors, event-weighted action, and ingredient vectors. The former two vectors are used to calculate the event probabilities and the latter two vectors are forwarded to the textual attention module.

(1) Action selector outputs event-weighted action and action-weighted event vectors by predicting the executed actions and related events. Let the action vectors be , that is, the pre-defined action embedding, where represents -th actions and is the number of the actions. In Fig. 6, the actions “crack” and “stir” are executed at the oracle event ; thus that corresponding crack and stir indices should be selected with the relation to . This computation can be formulated as the dot-product attention as follows:

(8)

where represents a linear layer and represents the dimension size of and 333The dimension size of is set to be equal to .. We also acquire action-weighted event vectors as follows:

(9)

where represents a linear layer.

(2) Ingredient selector outputs the event-weighted ingredient and ingredient-weighted event vectors by predicting the ingredients used and related events. For example, in Fig. 6, the raw “eggs” should be selected at . This computation is achieved by replacing with in Eq (8) and Eq (9) as follows:

(10)
(11)

where represents a linear layer.

(3) Updater represents the state transition of the ingredients by updating the ingredient vectors . Based on the selected actions and ingredients , the updater computes the dot-product attention as follows:

(12)

where expands the max-pooled action vector by repeating it times ( is the number of ingredients).

Output representations. The action- and ingredient-weighted event representations are used to compute the event probability by replacing with in Eq (2). The event-weighted action vectors and updated ingredients are forwarded to the textual attention module. is also set to be the ingredient vectors at -th prediction.

V-B Textual attention

The textual attention module encourages the sentence generator to output a recipe grounded with the events based on the actions and ingredients. Let be the -th output word vector from the sentence transformer. Given and , the textual attention module computes two attention matrices: (1) word-action attention and (2) word-ingredient attention. Then it outputs the context vectors as follows:

(13)
(14)
(15)
(16)
(17)

where represents a linear layer and indicates a concatenation function of vectors. is forwarded to the linear layer and softmax activation to obtain the word probability across the vocabulary.

V-C Loss functions

Fig. 7: Overview of loss computation of visual selector loss and textual attention loss.

In addition to the losses described in Section IV-D

, we introduce the following two types of loss functions: (1) visual simulator loss

and (2) textual attention loss . Fig. 7 shows an overview of the loss computation for these two losses.

(1) Visual simulator loss aims to train the visual simulator, consisting of two losses: (1) ingredient selection loss and (2) action selection loss. Given the action- and ingredient-event attention matrices in Eq (8) and Eq (10), they are computed as the summed negative log-likelihood based on the ingredients/actions and events that constitute the recipe story.

To avoid costly human annotations, we compute the loss through distant supervision [20] following our previous work. For the ingredient selection loss, labels are obtained whether the sentence corresponding ground-truth event contains ingredients and the events are oracle or not at each step. For the action selection loss, labels are obtained whether the sentence has actions in the 384 actions defined by [3] and the events are oracle or not at each step. For example, in Fig. 7, “eggs” at the event index of 3 is extracted as an ingredient label, and “crack” and “stir” are extracted at the same event index as an action label.

(2) Textual attention loss aims to train the textual attention, consisting of two losses: (1) ingredient attention loss and (2) action attention loss. Given the word-ingredient/action attention matrices in Eq (13) and Eq (15), they are computed as the sum of the negative log-likelihood based on whether the -th word is the same as the ingredients/actions.

Total loss. We simply add these losses to the loss defined in Section IV-D as follows:

(18)

Vi Experiments

We use the YouCook2 dataset [41], which consists of 2,000 cooking videos from 89 recipe categories. All of the videos have 3–16 clips with a human-annotated start/end timestamp, and each clip is also annotated with an English sentence. The average length of videos is 5.27 minutes per video. The original YouCook2 dataset does not contain ingredient annotations, thus we use the YouCook2-ingredient dataset [22], which contains additional ingredient annotations. The dataset also contains 1,788 videos with events, sentences, and ingredients. We use the official split proposed by [41] for evaluation. Because the test set is not available online, we use the validation set for evaluation.

Event encoder. We employ different two encoders described below:

  • TSN [35] converts the appearance and optical flow into frame-level representations, and then outputs the event-level representations by averaging them. For appearance, we use 2,048D feature vectors extracted from the “Flatten-673” layer in ResNet-200 [11]. For the optical flow, 1,024D feature vectors extracted from the “global pool” layer in BN-Inception [12]

    . Note that these models are pre-trained on only vision resources (e.g., ImageNet

    [6]).

  • MIL-NCE [18] converts the events into representations. The model is pre-trained on Howto100M [19], which consists of automatically constructed 100M clip-narration pairs. We expect the MIL-NCE to yield better event representations than the TSN because this model is pre-trained on instructional vision-and-language resources.

Data preprocessing. As in [17], we truncated sequences longer than 100 for the clip and 20 for the sentence and set the maximum length of the clip sequence to 12. Finally, we built the vocabulary based on words that occurred at least three times. The resulting vocabulary contained 991 words.

Hyper-parameter settings. For both the encoder and decoder transformers, we set the hidden size to 768, number of layers to two, and number of attention heads to 12. We train the model using the optimization method described in [7, 17]; we use the Adam optimizer [15] with an initial learning rate of , , and . The L2 weight decay is set to

, and the learning rate warmup is over the first five epochs. We set the batch size to 16, and continue training at most 50 epochs using early stopping with SODA:CIDEr-D.

Models. We test the proposed method by comparing it with four state-of-the-art dense video captioning models, as described below:

  • Masked Transformer (MT) [42] is a transformer-based encoder-decoder DVC model that can be trained in an end-to-end manner by using a differentiable mask.

  • Event-centric Hierarchical Representation for DVC (ECHR) [37] is an event-oriented encoder-decoder architecture for DVC. The ECHR incorporates temporal and semantic relations into the output events for generating captions accurately.

  • SGR [5] is a top-down DVC model consisting of four processes. The model (1) generates an overall paragraph from the input video, (2) grounds the sentences with events in the video, (3) refines captions based on the grounded events, and (4) refines events, referring to the refined captions.

  • PDVC [36] is the state-of-the-art DVC model. It detects events densely, re-ranks the top of them, and generates sentences for the re-ranked top events. Note that is the prediction target. This model is used in our preliminary experiments described in Section III.

Ablations. We examine the impact of the components of the proposed method through ablation studies on the following variations:

  • Base model (B) is the model introduced in Section IV.

  • B + Ingredient (BI) incorporates the ingredient encoder into the base model.

  • BI + Visual simulator (BIV) incorporates the visual simulator into the BI model.

  • BIV + Textual attention (VIVT) additionally incorporates the textual attention module into the BIV model.

Vi-a Word-overlap evaluation

Input modality Video feature dvc_eval SODA
BLEU4 METEOR CIDEr-D METEOR CIDEr-D tIoU
MT Video (V) TSN 0.30 3.18 6.10 - - -
ECHR V TSN - 3.82 - - - -
SGR V TSN - - - 4.35 - -
PDVC (reported) V TSN 0.80 4.72 22.71 4.42 - -
PDVC (reproduced) V TSN 0.56 5.80 21.47 3.99 15.10 27.80
Base (B) V MIL-NCE 1.04 6.03 24.98 5.45 25.09 33.23
Base + Ingredients (BI) Video + Ingredients (VI) MIL-NCE 1.39 7.18 31.07 6.44 31.69 35.10
BI + Visual simulator (BIV) VI MIL-NCE 1.40 7.27 32.67 6.46 32.95 34.13
BIV + Textual attention (BIVT) VI MIL-NCE 1.92 8.04 37.24 7.29 38.93 35.06
Oracle V TSN 0.97 7.68 36.30 9.64 35.09 71.16
TABLE II: Word-overlap metrics for the baseline and proposed method. The bold scores are the best among the comparative methods.

Table II demonstrates the results of the word-overlap evaluation on both dvc_eval and SODA with BLEU, METEOR, and CIDEr-D. We observe that the base model consistently outperforms state-of-the-art captioning models by a significant margin in both evaluations. In the ablation, the BIV model outperforms the BI model, and the BIVT model further improves the BIV model. This indicates that both the dot-product visual simulator and the textual attention module are effective for accurate recipe generation.

Vi-B Discussion on the number of predicted events

0 1 2 3
PDVC 14.4 40.0 63.0 76.4
Model
B 18.6 52.1 71.7 83.4
BI 18.8 51.6 73.5 87.3
BIV 20.5 51.8 74.2 86.2
BIVT 19.7 51.8 73.5 87.5
TABLE III: Percentage of recipes that satisfy , where represents the number of predicted events, ground-truth events, and a threshold, respectively. In this experiment, we change from to .
Fig. 8: Histogram of the number of predicted events and ground truth.

In addition to the word-overlap metrics, we discuss the generated recipes from the perspective of the number of predicted events. Table III shows the percentage of recipes that satisfy , where represents the number of predicted events, ground truth, and a threshold, respectively. In this experiment, we change from to . This result demonstrates that the proposed models consistently predict a more precise number of events than the PDVC. Fig. 8 shows the histogram of the number of the predicted events. While the PDVC outputs the specific number of events (i.e., 5, 7, 10), the histogram of the proposed method draws a similar curve to that of the ground-truth.

Vi-C Qualitative analysis

Fig. 9: Examples of the generated recipes. We compare three models: PDVC, B, and BIVT with the ground truth.

Fig. 9 shows the predicted events and generated recipes from the PDVC, B, and BIVT models, in comparison to that of the ground-truth. In terms of the predicted events, PDVC outputs highly overlapped events. The proposed method, on the other hand, predicts events in the correct order, with minimal overlap. This story-oriented sequential event prediction is an advantage of the proposed method. In terms of the generated recipes, the PDVC repeatedly generates the same contents, ignoring the events (see (c) to (g)). The proposed methods suppress this problem. A comparison of B and BIVT reveals that the BIVT can generate sentences that are grounded with events (e.g., “pork” is accurately verbalized in (a) in BIVT, whereas “fat” is generated in (a) in B).

Vi-D Discussion on the detailed model settings

Here, we discuss the detailed model settings from four perspectives: (1) loss ablation studies, (2) memory update strategies, (3) event encoders, and (4) parameter sensitivity and the event candidates . The results demonstrate that these parameters are important to succeed in our task.

Vi-D1 Loss ablation studies

IS AS IA AA dvc_eval SODA
BLEU4 METEOR CIDEr-D METEOR CIDEr-D tIoU
(a) 1.11 6.37 26.54 5.69 26.54 33.15
(b) 1.28 7.31 31.59 6.46 33.10 33.78
(c) 1.44 7.32 32.19 6.35 30.86 33.35
(d) 1.57 7.45 33.56 6.76 35.45 34.56
(e) 1.76 7.79 36.84 7.12 36.96 34.91
(f) 1.57 7.70 34.58 6.93 37.42 34.53
(g) 1.92 8.04 37.24 7.29 38.93 35.06
TABLE IV: Loss ablation studies. IS, AS, IA, and AA represent ingredient selection, action selection, ingredient attention, and action attention losses, respectively.

Table IV shows ablation studies on the loss function for the BIVT model. The experiment yields two insights. First, all the losses are essential for training the model. This is confirmed by removing all of them from the full model (compare (a) and (g)). Second, ingredient-based losses are more necessary than action-based ones. Removing the ingredient selection loss has a more significant influence on the performance, compared to the action selection loss (compare (b) with (d) and (c) with (d)). This tendency is the same as the relationship between the ingredient attention and action attention losses.

Vi-D2 Memory update strategies: separate or joint?

dvc_eval SODA
BLEU4 METEOR CIDEr-D METEOR CIDEr-D tIoU
B
Separate 0.92 5.67 24.19 5.19 23.12 33.96
Joint 1.04 6.03 24.98 5.45 25.08 33.26
BIV
Separate 1.39 7.24 33.02 6.54 33.00 33.81
Joint 1.40 7.27 32.67 6.46 32.95 34.13
BIVT
Separate 1.78 7.85 36.65 6.92 36.84 33.85
Joint 1.92 8.04 37.24 7.29 38.93 35.06
TABLE V: Comparison of memory update strategies: separate vs joint.

Table V shows a comparison of the memory update strategies. While the separate memory update does not mix the memories in the event and sentence transformers, the joint approach proposed in Section IV fuses these memories. The result demonstrates that the joint approach outperforms the separate approach, indicating the effectiveness of the joint memory update strategy.

Vi-D3 Event encoders

dvc_eval SODA
BLEU4 METEOR CIDEr-D METEOR CIDEr-D tIoU
B
TSN 0.36 4.24 15.55 3.79 14.98 31.71
MIL-NCE 1.04 6.03 24.98 5.45 25.08 33.26
BIV
TSN 0.52 4.93 18.98 4.51 18.32 31.77
MIL-NCE 1.40 7.27 32.67 6.46 32.95 34.13
BIVT
TSN 0.99 5.87 23.60 5.26 22.84 32.36
MIL-NCE 1.92 8.04 37.24 7.29 38.93 35.06
TABLE VI: Comparison of the model’s performance when varying the event encoders: TSN and MIL-NCE. Note that unlike TSN, which is pre-trained on only vision resources, the MIL-NCE is pre-trained on instructional vision-and-language resource, Howto100M.

Table VI shows the performance difference when changing the event encoders, indicating that the MIL-NCE proved significantly superior to the TSN in all of the settings. This occurs because the MIL-NCE is pre-trained on the vision-and-language resource, Howto100M, which captures the fine-grained event-level semantics of cooking procedures. We conclude that pre-training on an appropriate resource is essential to effective performance on our task.

Vi-D4 Parameter sensitivity and the event candidates

dvc_eval SODA
BLEU4 METEOR CIDEr-D METEOR CIDEr-D tIoU
B
N=25 1.27 6.49 27.84 6.19 29.34 35.26
N=50 0.98 6.42 27.12 5.89 26.34 33.79
N=100 1.04 6.03 24.98 5.45 25.08 33.26
N=200 0.93 6.16 25.93 5.52 26.13 33.93
BIV
N=25 1.71 7.50 34.18 7.02 36.39 36.13
N=50 1.51 7.52 33.37 6.86 34.24 35.60
N=100 1.40 7.27 32.67 6.46 32.95 34.13
N=200 1.23 6.81 29.51 5.95 28.86 33.15
BIVT
N=25 1.87 7.95 36.12 7.51 39.06 36.74
N=50 1.81 7.99 36.48 7.36 38.49 36.38
N=100 1.92 8.04 37.24 7.29 38.93 35.06
N=200 1.78 7.66 35.21 6.77 35.64 33.48
TABLE VII: Comparison of the model’s performance when varying the number of the event candidates .

The PDVC allows users to select the number of candidates when training the model. In the original study on the PDVC, is set to be on the YouCook2 dataset. In this experiment, we change the parameter to be and to investigate the parameter sensitivity of the model. Table VII shows the performance change of the proposed method in different model settings: B, BIV, and BIVT. The results demonstrate that the proposed method consistently performs well on . We observe that increasing degrades the model performance. Although a higher makes the maximum tIoU larger (shown in Section III), the ratio of events that are not oracle but highly overlapped with the ground-truth increases. This prevents the model from selecting oracle events precisely and causes it to overfit the training set.

Vii Conclusion

In this paper, we tackled recipe generation from unsegmented cooking videos, a task that requires agents to (1) extract key events that are essential to dish completion and (2) generate sentences for the extracted events. We analyzed the output of the DVC model and observed that, although (1) several events are adoptable as a recipe story of a recipe, (2) the generated sentences for such events are not grounded in the visual content. Therefore, we hypothesized that we can obtain correct recipes by selecting oracle events from the output events of the DVC model and re-generating sentences for them. To achieve this, we proposed a transformer-based joint learning approach for the event selector and sentence generator. The event selector selects oracle events from the event candidate in the correct order, and the sentence generator generates a recipe grounded in the events. We also extend the model by including ingredient inputs. The additional modules encourage the model to generate more grounded recipes effectively. In experiments, we confirmed that the base model outperforms the state-of-the-art DVC models and the extended model boosts the model’s performance. In addition, we showed that the proposed models can select the correct number of events, as with the ground-truth events. The qualitative evaluation revealed that the proposed approaches can select events in the correct order and generate recipes grounded in the video content. Finally, we discussed the detailed experimental settings for optimal recipe generation.

References

  • [1] S. Banerjee and A. Lavie (2005) METEOR: an automatic metric for MT evaluation with improved correlation with human judgments. In Proc. ACL Workshop IEEMMTS, pp. 65–72. Cited by: §III.
  • [2] A. Bosselut, A. Celikyilmaz, X. He, J. Gao, P. Huang, and Y. Choi (2018) Discourse-aware neural rewards for coherent text generation. In Proc. NAACL-HLT, pp. 173–184. Cited by: §II-A.
  • [3] A. Bosselut, O. Levy, A. Holtzman, C. Ennis, D. Fox, and Y. Choi (2018) Simulating action dynamics with neural process networks. In Proc. ICLR, pp. . Cited by: §V-C.
  • [4] K. Chandu, E. Nyberg, and A. W. Black (2019) Storyboarding of recipes: grounded contextual generation. In Proc. ACL, pp. 6040–6046. Cited by: §II-A.
  • [5] C. Deng, S. Chen, D. Chen, Y. He, and Q. Wu (2021) Sketch, ground, and refine: top-down dense video captioning. In Proc. CVPR, pp. 234–243. Cited by: §I, §II-B, 3rd item.
  • [6] J. Deng, W. Dong, R. Socher, L. Li, K. Li, and L. Fei-Fei (2009) ImageNet: a large-scale hierarchical image database. In Proc. CVPR, pp. 248–255. Cited by: 1st item.
  • [7] J. Devlin, M. Chang, K. Lee, and K. Toutanova (2019) BERT: pre-training of deep bidirectional transformers for language understanding. In Proc. NAACL, pp. 4171–4186. Cited by: §VI.
  • [8] V. Escorcia, F. C. Heilbron, J. C. Niebles, and B. Ghanem (2016) DAPs: deep action proposals for action understanding. In Proc. ECCV, pp. 768–784. Cited by: §I.
  • [9] S. Fujita, T. Hirao, H. Kamigaito, M. Okumura, and M. Nagata (2020) SODA: story oriented dense video captioning evaluation framework. In Proc. ECCV, pp. 517–531. Cited by: §I, §I, §II-B, §III, §III.
  • [10] J. Harashima, Y. Someya, and Y. Kikuta (2017) Cookpad image dataset: an image collection as infrastructure for food research. In Proc. ACM SIGIR, pp. 1229–1232. Cited by: §II-A.
  • [11] K. He, X. Zhang, S. Ren, and J. Sun (2016) Deep residual learning for image recognition. In Proc. CVPR, pp. 770–778. Cited by: §IV-A, 1st item.
  • [12] S. Ioffe and C. Szegedy (2015) Batch normalization: accelerating deep network training by reducing internal covariate shift. In Proc. ICML, pp. 448–456. Cited by: 1st item.
  • [13] E. Jang, S. Gu, and B. Poole (2017) Categorical reparametrization with gumble-softmax. In Proc. ICLR, pp. . Cited by: §IV-A, §IV-A.
  • [14] C. Kiddon, L. Zettlemoyer, and Y. Choi (2016) Globally coherent text generation with neural checklist models. In Proc. EMNLP, pp. 329–339. Cited by: §II-A.
  • [15] D. P. Kingma and J. Ba (2015) Adam: a method for stochastic optimization. In Proc. ICLR, Cited by: §VI.
  • [16] R. Krishna, K. Hata, F. Ren, L. Fei-Fei, and J. C. Niebles (2017) Dense-captioning events in videos. In Proc. ICCV, pp. 706–715. Cited by: §I, §I, §III.
  • [17] J. Lei, L. Wang, Y. Shen, D. Yu, T. Berg, and M. Bansal (2020) MART: memory-augmented recurrent transformer for coherent video paragraph captioning. In Proc. ACL, pp. 2603–2614. Cited by: §I, §I, §IV-A, §IV-C, §IV, §VI, §VI.
  • [18] A. Miech, J. Alayrac, L. Smaira, I. Laptev, J. Sivic, and A. Zisserman (2020) End-to-end learning of visual representations from uncurated instructional videos. In Proc. CVPR, pp. 9879–9889. Cited by: §IV-A, 2nd item.
  • [19] A. Miech, D. Zhukov, J. Alayrac, M. Tapaswi, I. Laptev, and J. Sivic (2019) HowTo100M: learning a text-video embedding by watching hundred million narrated video clips. In Proc. ICCV, pp. 2630–2640. Cited by: §IV-A, 2nd item.
  • [20] M. Mintz, S. Bills, R. Snow, and D. Jurafsky (2009) Distant supervision for relation extraction without labeled data. In Proc. ACL-IJCNLP, pp. 1003–1011. Cited by: §V-C.
  • [21] T. Nishimura, A. Hashimoto, and S. Mori (2019) Procedural text generation from a photo sequence. In Proc. INLG, pp. 409–414. Cited by: §II-A.
  • [22] T. Nishimura, A. Hashimoto, Y. Ushiku, H. Kameko, and S. Mori (2021) State-aware video procedural captioning. In Proc. ACMMM, pp. 1766–1774. Cited by: §I, §I, §II-A, Fig. 5, §V, §V, §VI.
  • [23] T. Nishimura, A. Hashimoto, Y. Ushiku, H. Kameko, Y. Yamakata, and S. Mori (2020) Structure-aware procedural text generation from an image sequence. IEEE Access 9, pp. 2125–2141. Cited by: §II-A.
  • [24] L. Pan, J. Chen, J. Wu, S. Liu, C. Ngo, M. Kan, Y. Jiang, and T. Chua (2020) Multi-modal cooking workflow construction for food recipes. In Proc. ACMMM, pp. 1132–1141. Cited by: §I.
  • [25] D. P. Papadopoulos, E. Mora, N. Chepurko, K. W. Huang, F. Ofli, and A. Torralba (2022) Learning program representations for food images and cooking recipes. In Proc. CVPR, pp. 16559–16569. Cited by: §I.
  • [26] K. Papineni, S. Roukos, T. Ward, and W. Zhu (2002) BLEU: a method for automatic evaluation of machine translation. In Proc. ACL, pp. 311–318. Cited by: §III.
  • [27] J. Pennington, R. Socher, and C. Manning (2014) GloVe: global vectors for word representation. In Proc. EMNLP, pp. 1532–1543. Cited by: §IV-B, §V.
  • [28] A. Salvador, M. Drozdzal, X. Giro-i-Nieto, and A. Romero (2019) Inverse Cooking: recipe generation from food images. In Proc. CVPR, pp. 10453–10462. Cited by: §I, §II-A.
  • [29] A. Salvador, N. Hynes, Y. Aytar, J. Marin, F. Ofli, I. Weber, and A. Torralba (2017) Learning cross-modal embeddings for cooking recipes and food images. In Proc. CVPR, pp. 3020–3028. Cited by: §I, §II-A.
  • [30] B. Shi, L. Ji, Y. Liang, N. Duan, P. Chen, Z. Niu, and M. Zhou (2019) Dense procedure captioning in narrated instructional videos. In Proc. ACL, pp. 6382–6391. Cited by: §I, §II-A.
  • [31] B. Shi, L. Ji, Z. Niu, N. Duan, M. Zhou, and X. Chen (2020) Learning semantic concepts and temporal alignment for narrated video procedural captioning. In Proc. ACMMM, pp. 4355–4363. Cited by: §I, §II-A.
  • [32] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin (2017) Attention is all you need. In Proc. NeurIPS, pp. 5998–6008. Cited by: §I, §II-A, §IV-A.
  • [33] R. Vedantam, C. L. Zitnick, and D. Parikh (2015) CIDEr: consensus-based image description evaluation. In Proc. CVPR, pp. 4566–4575. Cited by: §III.
  • [34] H. Wang, G. Lin, S. C. H. Hoi, and C. Miao (2020) Structure-aware generation network for recipe generation from images. In Proc. ECCV, pp. 359–374. Cited by: §I, §II-A.
  • [35] L. Wang, Y. Xiong, Z. Wang, Y. Qiao, D. Lin, X. Tang, and L. V. Gool (2019) Temporal segment networks for action recognition in videos. IEEE Trans. on Pattern Analysis and Machine Intelligence, pp. 2740–2755. Cited by: 1st item.
  • [36] T. Wang, R. Zhang, Z. Lu, F. Zheng, R. Cheng, and P. Luo (2021) End-to-end dense video captioning with parallel decoding. In Proc. ICCV, pp. 6847–6857. Cited by: §I, §II-B, §III, 4th item, footnote 1.
  • [37] T. Wang, H. Zheng, M. Yu, Q. Tian, and H. Hu (2021) Event-centric hierarchical representation for dense video captioning. IEEE Trans. on Circuits and Systems for Video Technology, pp. 1890–1900. Cited by: §IV-A, 2nd item.
  • [38] J. Wu, L. Pan, J. Chen, and Y. Jiang (2022) Ingredient-enriched recipe generation from cooking videos. In Proc. ICMR, pp. 249–257. Cited by: §I, §II-A, §V.
  • [39] M. Zhang, G. Tian, Y. Zhang, and P. Duan (2021) Reinforcement learning for logic recipe generation: bridging gaps from images to plans. IEEE Transactions on Multimedia. Cited by: §I.
  • [40] L. Zhou, Y. Kalantidis, X. Chen, J. J. Corso, and M. Rohrbach (2019) Grounded video description. In Proc. CVPR, pp. 6578–6587. Cited by: §II-B.
  • [41] L. Zhou, C. Xu, and J. J. Corso (2018) Towards automatic learning of procedures from web instructional videos. In Proc. AAAI, pp. 7590–7598. Cited by: §I, §I, §III, §VI.
  • [42] L. Zhou, Y. Zhou, J. J. Corso, R. Socher, and C. Xiong (2018) End-to-end dense video captioning with masked transformer. In Proc. CVPR, pp. 8739–8748. Cited by: 1st item.