Learning Program Representations for Food Images and Cooking Recipes
About
In this paper, we are interested in modeling a how-to instructional procedure, such as a cooking recipe, with a meaningful and rich high-level representation. Specifically, we propose to represent cooking recipes and food images as cooking programs. Programs provide a structured representation of the task, capturing cooking semantics and sequential relationships of actions in the form of a graph. This allows them to be easily manipulated by users and executed by agents. To this end, we build a model that is trained to learn a joint embedding between recipes and food images via self-supervision and jointly generate a program from this embedding as a sequence. To validate our idea, we crowdsource programs for cooking recipes and show that: (a) projecting the image-recipe embeddings into programs leads to better cross-modal retrieval results; (b) generating programs from images leads to better recognition results compared to predicting raw cooking instructions; and (c) we can generate food images by manipulating programs via optimizing the latent code of a GAN. Code, data, and models are available online.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Image-to-recipe retrieval | Recipe1M 1k setup (test) | Recall@166.9 | 116 | |
| Recipe-to-image retrieval | Recipe1M 1k setup (test) | Recall@166.8 | 110 | |
| Image-to-recipe retrieval | Recipe1M 1.0 (test) | Median Rank1 | 35 | |
| Recipe-to-image retrieval | Recipe1M 1.0 (test) | MedR1 | 30 |