手順構造を考慮した手順書からの作業画像検索
迫田航次郎
京都大学大学院情報学研究科
sakoda.kojiro.48z@st.kyoto-u.ac.jp

西村太一
京都大学大学院情報学研究科
nishimura.taichi.43x@st.kyoto-u.ac.jp

森信介
京都大学学術情報メディアセンター
forest@i.kyoto-u.ac.jp

1

材料リスト

はじめにアスパラガス

じゃがいも

チーズ

塩コショウ

画像
⼿順書

ある手順書に基づいて作業を行う場合，手順書に記されている文章だけでなく，その手順における物(1) アスパラガスとじゃがいもを茹でる。

(2) 耐熱⽫に並べる。

体の状態を写した画像を共に参照することで作業者は手順を再現しやすくなる．本研究では手順書を入(3) ラクレットを刻む。

力として，各手順に対応する画像を検索することを目的とする (図 1)．

(4) 野菜の上に、ラクレットをのせる。
１８０°Ｃのオーブンで５分加熱する。

⼿順構造(5) 塩胡椒を振りかけて出来上がり♪

手順書から作業画像を検索するためには，モデルは単に対応する手順の内容だけでなく，過去の手順で使用した材料や動作との因果関係も考慮する必要がある．我々は，この因果関係を木構造をはじめとするグラフ構造で表現することができる [1, 2, 3]．
本研究ではこうした構造を手順構造と呼び，図 1 にその一例を示す．この例では，手順書の (1) で材料リストにあるアスパラガスとじゃがいもを茹で，(2)でそれらを皿に並べている．(4) では (2) の結果と(3) で刻んだチーズを合わせてオーブンで加熱している．手順構造はこれらの手順間の因果関係を表現しており，各材料が手順構造の葉に，各手順が節点に対応している．本研究では，手順書と，材料リスト，そして手順構造を入力として与え，手順構造を効率よく学習しつつ作業画像を検索する手法を提案する．
実験では，手順構造を考慮しない従来の画像検索モデルと比較して画像検索性能が向上したことが分かった．また，実際に検索した結果をもとに，手順構造を考慮することの有用性を示した．

2

関連研究
手順書とその実施映像を対象とした研究は近年活発に行われている．中でも，料理ドメインは Web
上でデータを集めやすく，材料や動作の種類が豊富

図 1 本研究の課題概要．手順書，材料リスト，手順構造を入力として，手順書の各手順に対応する作業画像を検索する．

であるため注目を集めている．本研究で利用する
Cookpad Image Dataset [4] は約 170 万のレシピ，画像列，材料リストを含む世界最大規模のマルチモーダルデータセットである．
こうした大規模なデータセットを活用して，レシピとその実施映像との間で共通の表現を学習する研究も行われている．Salvador ら [5] は，テキスト側の入力として手順と材料を，画像の入力としてレシピの完成画像をそれぞれエンコードし，共有潜在空間を学習することで，レシピから完成画像を検索する手法を提案した．
しかし，材料と動作の因果関係を考慮しつつ検索を行うような研究は未だ十分に取り組まれてはいない．レシピの内容をコンピュータが理解するために，こうした関係を手順構造で表現する取り組みも行われている [1, 2]．さらに，近年では，手順構造を画像付きで理解する試みも行われており，そのためのマルチモーダルデータセットとして，vSIMMR [3]というデータセットも提案されている．本研究では，vSIMMR データセットを用いて，材料と動作の因果関係を考慮しつつ，手順書の各手順に対応する

全結合層

t3

h4

t4h2

s2

v2i2h3s3

v3i3h4s4v4i4v5i5h5t5

h5

Encoder (w2v)

(i)

i1

s5(3) チーズ
(4) 塩

h2

h3

g3

h5t2

従来の画像検索モデル (ベースラインモデル)．

s1

v1

i1

h2

s2v2

i2

h3

s3v3

i3

h4

s4v4

i4

t3t4t5h5s5v5i5(ii)
Encoder (w2v)

⼿順書(1) アスパラガスとじゃがいもを茹でる。
(2) 耐熱⽫に並べる。
(3) ラクレットを刻む。
(4) 野菜の上に、ラクレットをのせる。
１８０°Ｃのオーブンで５分加熱する。
(5) 塩胡椒を振りかけて出来上がり♪

(iii)

h4g4

(i)

Triplet Margin Loss

h1g2

t1

画像を検索する手法を提案する．

図3

Triplet Margin Loss(iii)

提案手法モデル．

(ii) 画像列の入力 : 画像列の入力部は ResNet50 [6]と 3 層の全結合層からなる．まず，画像列の各画像

作業画像の検索モデル

3

h1

g5

(5) コショウ(ii)

⼿順書(1) アスパラガスとじゃがいもを茹でる。
(2) 耐熱⽫に並べる。
(3) ラクレットを刻む。
(4) 野菜の上に、ラクレットをのせる。
１８０°Ｃのオーブンで５分加熱する。
(5) 塩胡椒を振りかけて出来上がり♪

図2(2) じゃがいも

g1

画像全結合層Tree LSTM

材料リスト(1) アスパラガス

Encoder (ResNet50)

t2

h3

v1

Encoder (w2v)

t1

h2

s1

Encoder (ResNet50)

LSTM
h1

画像h1を ImageNet [7] で学習済の ResNet50 を用いて分散

図 2 に従来の画像検索モデル (ベースラインモデ表現 𝑰 = (𝒊1 , 𝒊2 , ..., 𝒊𝒌 , ..., 𝒊 𝑲 ) に変換し，全結合層に入ル) の，図 3 に提案手法モデルの概要を示す．また，力することで，共有潜在空間上の画像列ベクトル以下の節でそれぞれのモデルについて説明する．

𝑽 = (𝒗 1 , 𝒗 2 , ..., 𝒗 𝒌 , ..., 𝒗 𝑲 ) を得る．

3.1(iii) 共有潜在空間の学習 : Triplet margin loss [8] をベースラインモデル用いて，手順と画像の共有潜在空間を学習する．

ベースラインモデルは 3 つの処理に分けることができる．(i) で手順列を入力に，LSTM を用いて手Triplet margin loss は基準となるベクトル 𝒂，正例ベクトル 𝒑，負例ベクトル 𝒏 を用いて以下のように書順書の時系列情報を考慮した特徴ベクトルを得る．

ける．

(ii) で画像列を入力に，全結合層を用いることで画𝐿 = max(0, 𝑑 (𝒂, 𝒑) − 𝑑 (𝒂, 𝒏) + 𝜖)像の特徴ベクトルを得る．最後に，(iii) で (i) と (ii)で得られた手順と画像の特徴ベクトルを 3 層の全結合層により共有潜在空間上に埋め込む．
(i) 手順列の入力 : 手順列の入力部は 1 層の LSTMと 2 層の全結合層からなる．まず，各手順を構成する単語を word2vec を用いて分散表現に変換し，その平均を手順ベクトル列 𝑻 = (𝒕1 , 𝒕2 , ..., 𝒕 𝒌 , ..., 𝒕 𝑲 ) として得る．次に，手順ベクトル列を LSTM に入力し，手順書の時系列情報を考慮した手順ベクトル列
𝑯 = (𝒉1 , 𝒉2 , ..., 𝒉𝒌 , ..., 𝒉 𝑲 ) を以下のように計算して得る．

(7)

なお，𝑑 (·) は 2 つのベクトルのユークリッド距離を表し，𝜖 はハイパーパラメータである．
本 研 究 で は，手 順 を 基 準 と し て 得 ら れ る 3 つ組 (𝒔a , 𝒗 p , 𝒗 n )，画 像 を 基 準 と し て 得 ら れ る 3 つ組 (𝒗 a , 𝒔p , 𝒔n ) を用いて，それぞれの基準での損失
𝐿 𝑠2𝑣 , 𝐿 𝑣2𝑠 を 計 算 す る．そ し て，2 つ の 損 失 の 和
𝐿 triplet を最小化するようにモデルを学習する．

3.2

提案手法

提案手法のモデルもベースラインモデルと同様の𝒊𝒌𝒇𝒌==3 つの処理からなる．ベースラインモデルからの拡𝜎(𝑾 (𝑖) 𝒕𝒌 + 𝑼 (𝑖) 𝒉𝒌−1 + 𝒃 (𝑖) )𝜎(𝑾(𝑓 )

𝜎(𝑾(𝑜)

𝒕𝒌 + 𝑼𝒕𝒌 + 𝑼(𝑓 )(𝑜)𝒉𝒌−1 + 𝒃(𝑜)))張点は，手順構造を考慮するために，(i) において

(2)

LSTM を Tree-LSTM [9] に変更したことである．(ii)(3)と (iii) に関してはベースラインモデルと同様である

𝒐𝒌=

𝒖𝒌= tanh(𝑾 (𝑢) 𝒕𝒌 + 𝑼 (𝑢) 𝒉𝒌−1 + 𝒃 (𝑢) )𝒄𝒌=

𝒊𝒌 ⊙ 𝒖 𝒌 + 𝒇𝒌 ⊙ 𝒄 𝒌−1(5)合層からなる．まず，手順構造の節点となる手順書𝒉𝒌=𝒐𝒌 ⊙ tanh(𝒄 𝒌 )(6)の各手順ベクトルをベースラインモデルと同様に次 に，LSTM の 出 力 を 2 層 の 全 結 合 層 に 入計算する．また，手順構造の葉となる材料ベクトル

力 し，共 有 潜 在 空 間 上 の 手 順 ベ ク ト ル 列 𝑺 =𝑮 = ( 𝒈1 , 𝒈2 , ..., 𝒈𝒏 , ..., 𝒈 𝑵 ) も同様の処理で計算する．
こうして得られる手順，材料ベクトルおよび手順構(𝒔1 , 𝒔2 , ..., 𝒔𝒌 , ..., 𝒔 𝑲 ) を得る．

𝒉𝒌−1 + 𝒃(𝑓 )(1)(4)

ため，以下で (i) の処理に焦点を当てて説明をする．
(i) の拡張箇所は 1 層の Tree-LSTM と 2 層の全結表1

Cookpad Image Dataset の統計情報．

訓練

検証

表2vSIMMR の統計情報．

訓練

検証

評価

1,603

250

250

平均手順数6.78

6.746.85

評価

レシピ数
平均手順数

163,525 18,051 20,193
6.24
6.15
6.26

レシピ数

レシピあたりの単語数

148.52147.02148.50

レシピあたりの単語数

118.23113.91114.68

レシピあたりの材料数

7.85

7.79

7.86

レシピあたりの材料数

6.58

6.37

6.64

造を Tree-LSTM へ入力する．𝑘 番目の手順ベクトル𝒕 𝒌 と 𝑘 番目の節に接続している子の集合 𝐶 (𝑘) を用いて，以下のように 𝑘 番目の隠れ層 𝒉𝒌 とメモリセ
ル 𝒄 𝒌 を更新する．

𝒉ˆ 𝒌=

𝒇𝒌 𝒋

==

𝒉𝒌𝒋

(8)

𝜎(𝑾(𝑓 )(𝑜)Dataset と vSIMMR の訓練データの全レシピを用いて学習した．なお，word2vec の出力の次元数は 300𝜎(𝑾 (𝑖) 𝒕 𝒌 + 𝑼 (𝑖) 𝒉ˆ 𝒌 + 𝒃 (𝑖) )(𝑓 ) ˆ(𝑓 )(𝑜) ˆ(𝑜)𝒕𝒌 + 𝑼𝒕𝒌 + 𝑼𝒉𝒌 + 𝒃𝒉𝒌 + 𝒃)=𝜎(𝑾𝒖𝒌=𝒄𝒌=tanh(𝑾 (𝑢) 𝒕 𝒌 + 𝑼 (𝑢) 𝒉ˆ 𝒌 + 𝒃 (𝑢) )∑𝒊𝒌 ⊙ 𝒖𝒌 +𝒇𝒌 𝒋 ⊙ 𝒄 𝒋)

(9)である．画像ベクトルは学習済みの ResNet50 の最(10)終層を取り除いたモデルから得られ，出力の次元数

(11)
(12)
(13)

𝑗 ∈𝐶 (𝑘)=実験設定

本 研 究 で は，word2vec モ デ ル は Cookpad Image∑𝒐𝒌𝒉𝒌る．表 2 に vSIMMR の統計情報を示す．

4.2

𝑗 ∈𝐶 (𝑘)𝒊𝒌部に木構造のアノテーションが行われたものであ𝒐 𝒌 ⊙ tanh(𝒄 𝒌 )(14)

は 2,048 である．共有潜在空間の次元数は 512 に設定した．また，バッチサイズは 128 とし，最適化手法には Adam [10] を用いた．
また，比較手法としてベースラインモデルの材料リストを用いない場合 (材料なし) に加え，提案手法との公平な比較のために，材料リストも用いた場合(材料あり) も考えた．(材料なし) では，手順側の入実験

4

まず，ベースラインモデル，提案手法を用いて画像検索の性能を定量的に評価した．次に，手順構造を考慮することの有用性を示すために，実際の検索力として手順列のみを用いて学習しており，(材料あり) では，手順側の入力として手順書の各手順ベクトルに材料ベクトルの平均を連結し学習している．

4.3

定量的評価

4.3.1

評価尺度結果を用いて定性的評価を行なった．

4.1

データセット

本研究では，Cookpad Image Dataset，vSIMMR の画像検索の性能を評価するために，1,000 の手順に対する Recall@K (R@K) と Median rank (medR) を

2 つ の デ ー タ セ ッ ト を 用 い て 実 験 を 行 な っ た．

計算した．R@K は手順を入力し，得られた画像集

Cookpad Image Dataset は，レシピ，材料のリスト，レ合を cos 類似度で降順にソートした時に手順に対応

シピの各手順に対応する画像からなるデータセット

する画像が上位 K 番以内に現れる割合，medR は各である．Cookpad Image Dataset のレシピの中には，手順に対応する画像の順位の中央値を示す．

全ての手順に写真が付与されていないものも存在す
結果

る．本研究では，そうしたレシピを除き，全ての手4.3.2順に写真が付与しているレシピのみを用いた．表 1

結果を表 3 に示す．ベースラインモデルの (材料あり) は用いられる材料を考慮することで検索精度に Cookpad Image Dataset の統計情報を示す．
vSIMMR は，Cookpad Image Dataset の一部に手順の上昇を期待したが，(2) と (3)，(4) と (5) を比較し構造を人手でアノテーションしたデータセットであた結果，手順ベクトルに材料ベクトルを単に連結する．このデータセットは，Cookpad Image Dataset のるだけでは検索精度が必ずしも良くなるわけではな

レシピから，全ての手順に写真がついており，かつ材料数と手順数が 3 以上のものを取り出し，その一いことが分かった．ベースラインモデルの (5) と提案手法の (6) を比較すると (6) の結果の方が medR の表3

画像検索の評価結果．

medR

R@1

R@5

R@10

(1) ランダム

500 0.001

0.005

0.010

(2)Cookpad Image Dataset(材料なし)

100.111

0.342

0.492

(3)Cookpad Image Dataset(材料あり)

80.1290.383

0.536(4)vSIMMR(材料なし)

42.50.034

0.113

0.210(5)vSIMMR(材料あり)

560.030

0.1080.177

29.50.047

0.1670.271

ベースラインモデル

提案手法(6)vSIMMR

⼿順

ちくわ：縦半分に切り、⻑さ３〜４等分にする。

卵を溶き、だし⼊り醤油を加えて混ぜておく。

フライパンでサラダ油を熱し、ちくわを炒め焼き⾊をつけ２の卵を注ぎ⼊れる。

ちくわに卵が絡むように炒め合わせ程よく混ざったらＯＫです。

出来上がり

正解

提案⼿法

ベースライン

ちくわ
卵

図4

画像検索結果の一例．

値が低く，R@K の値が高かったことから，手順構造を考慮することで検索精度が良くなることが示され，提案手法の有用性を確認できた．一方で、大量することが有効であると確認できた．

5

おわりにのデータセットで学習されたベースラインモデル

本研究では，手順書から作業画像を検索する課題(2)，(3) と提案手法の (6) の結果を比較すると学習にに取り組んだ．手順に対応する画像を正しく検索す用いたデータセットが多ければ手順構造を考慮しなるためには過去の手順で使用した材料や動作との因くとも検索精度が良くなるなることが分かった．

果関係をモデルが捉える必要がある．本研究ではこ4.4

定性的評価

レシピを入力して作業画像を検索した結果を図 4に示す．このレシピでは 2 番目の手順で示されていうした関係を表現している手順構造を考慮し，画像検索を行う手法を提案した．実験では，定性的，定量的に評価を行い，ベースラインモデルに比べて提案手法が有用であることを確認した．

る溶き卵と 3 番目の手順で炒められたちくわが 4 番

今後の課題として，手順構造がアノテーションさ目の手順で混ぜ合わされるような構造となっていれていない場合でも，手順構造を予測し，それを考る．提案手法ではこの混ぜ合わされた結果の画像を慮しながら画像検索を行える手法へと拡張すること正確に検索することができており，手順構造を考慮を検討する．

参考文献[1]Shinsuke Mori, Hirokuni Maeta, Yoko Yamakata, and Tetsuro Sasada. Flow graph corpus from recipe texts. In LREC,2014.
[2]Jermsak Jermsurawong and Nizar Habash. Predicting thestructure of cooking recipes. In EMNLP, 2015.
[3]Taichi Nishimura, Atsushi Hashimoto, Yoshitaka Ushiku,
Hirotaka Kameko, Yoko Yamakata, and Shinsuke Mori.
Structure-aware procedural text generation from an image
sequence. IEEE Access, 2020.
[4]Jun Harashima, Yuichiro Someya, and Yohei Kikuta. Cookpad image dataset: An image collection as infrastructure forfood research. In SIGIR, 2017.
[5]Amaia Salvador, Nicholas Hynes, Yusuf Aytar, Javier Marin,Ferda Oﬂi, Ingmar Weber, and Antonio Torralba. Learning cross-modal embeddings for cooking recipes and foodimages. In CVPR, 2017.
[6]Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.
Deep residual learning for image recognition. In CVPR, 2016.
[7]Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li,
and Li Fei-Fei. ImageNet: A large-scale hierarchical image database. In CVPR, 2009.
[8]Jiang Wang, Yang Song, Thomas Leung, Chuck Rosenberg,Jingbin Wang, James Philbin, Bo Chen, and Ying Wu. Learning ﬁne-grained image similarity with deep ranking. In
CVPR, 2014.
[9]Kai Sheng Tai, Richard Socher, and Christopher D. Manning.
Improved semantic representations from tree-structured longshort-term memory networks. In ACL, 2015.
[10]Diederik Kingma and Jimmy Ba. Adam: A method forstochastic optimization. In ICLR, 2015.