食物是我們每天必不可少的能量補(bǔ)給,也是很多吃貨小伙伴的快樂(lè)源泉。計(jì)算機(jī)視覺(jué)的發(fā)展,對(duì)于食物的分析和推薦為我們的餐桌提供了新的可能。拍一張照片就可以從這一餐的食物中分析出食材的營(yíng)養(yǎng)成分和卡路里的多少,幫助我們監(jiān)控每日能量和營(yíng)養(yǎng)的攝入,并對(duì)膳食進(jìn)行管理。
除了分析和記錄,計(jì)算機(jī)輔助食物分析還能對(duì)食材的屬性進(jìn)行分析并對(duì)烹飪后的食物色、香、味進(jìn)行預(yù)測(cè),不同烹飪方法下食材在最終菜品下呈現(xiàn)的樣式。但食物的烹調(diào)方式多種多樣、在不同菜品中呈現(xiàn)的樣子也各不相同,更別說(shuō)各種無(wú)法直接看到的調(diào)味料了。如此復(fù)雜的視覺(jué)任務(wù)需要大量的數(shù)據(jù)來(lái)對(duì)算法進(jìn)行訓(xùn)練,但數(shù)據(jù)的缺乏阻礙了這一領(lǐng)域的發(fā)展。
為了更好地推動(dòng)這一領(lǐng)域的進(jìn)步以解決計(jì)算機(jī)食物分析的挑戰(zhàn),來(lái)自羅格斯大學(xué)和三星AI中心的研究人員們提出了一種新的食物合成方法,從食材原料的名字直接合成菜品的圖像,為食物分析和預(yù)測(cè)提出了新的可能。對(duì)于食物圖像的生成,研究人員們進(jìn)行了諸多有益的探索。雖然基于CycleGAN的方法實(shí)現(xiàn)了對(duì)食物的風(fēng)格遷移,但是目前還沒(méi)有能夠從不同的食材配料中直接生成食物圖像的方法。
食物圖像合成不僅引入了包括食材屬性、加工方法、烹調(diào)方式的復(fù)雜性,同時(shí)多樣性的菜品還極度依賴烹調(diào)的過(guò)程,生成模型必須能捕捉信息中隱含的關(guān)鍵點(diǎn)才能重建出有效的菜品。
在這篇文章中,研究人員結(jié)合基于注意力的菜譜相關(guān)模型和StackGAN來(lái)從食材中生成對(duì)應(yīng)的菜品圖像,隨后利用了循環(huán)連續(xù)約束來(lái)進(jìn)一步提高了生成圖像的質(zhì)量、并有效改進(jìn)了改變?cè)虾笊傻牟似沸Ч?/p>
尋找食材與食物圖像共同的隱空間
為了尋找到更為合適的編碼來(lái)表示食材與食物圖像間的關(guān)系,研究人員使用了基于注意力的聯(lián)合模型來(lái)訓(xùn)練得到隱空間的編碼方法。這一模型一共包含了三部分,分別是食材編碼器、聯(lián)合食物隱空間和美食圖像編碼器。
整個(gè)網(wǎng)絡(luò)的目的是將食材信息從文字中抽取出來(lái)并送入對(duì)應(yīng)的編碼隱空間中去,而對(duì)應(yīng)的食物圖像也進(jìn)行編碼映射到隱空間中,并最大化食材信息編碼和對(duì)應(yīng)圖像編碼的余弦相似性。
基于注意力交叉聯(lián)合模型與隱空間,包含了從食材/圖像分別到FoodSpace聯(lián)合隱空間的編碼與映射。
食材原料編碼器的目的在于將菜譜中的食材轉(zhuǎn)化為共享隱含空間中的特征。這一部分的目標(biāo)是尋找出食材間隱含的關(guān)系,甚至將佐料這樣不明顯的配料信息也挖掘出來(lái)。
研究人員通過(guò)獨(dú)特編碼的食材嵌入到低維向量空間中,并作為序列輸入到雙邊的LSTM中進(jìn)行訓(xùn)練,每一層的隱空間輸出都作為對(duì)應(yīng)食材的特征,并在最后利用注意力機(jī)制將這些特征融合起來(lái),基于加權(quán)方法融合所有的隱含狀態(tài),最終映射共享食物隱含空間中的高維食材特征p(1024維)。圖像編碼器的目的是將食物圖像轉(zhuǎn)換為食物空間中的特征,利用Resent50作為主干網(wǎng)絡(luò),并利用UPMC-Food-101對(duì)模型進(jìn)行精調(diào)最后利用平均池化后的激活(2048維),映射到食物空間中去得到隱變量q(1024維)。
通過(guò)對(duì)兩種模態(tài)數(shù)據(jù)在共享隱空間中的訓(xùn)練后,得到了有效的食材特征表示p,我們就可以基于這一有效的特征利用GAN來(lái)合成逼真、有效穩(wěn)定的食物圖像了。
生成菜品
為了將輸入的食材單轉(zhuǎn)換為對(duì)應(yīng)菜品的圖像,研究人員基于StackGAN-v2來(lái)生成菜品圖像。這一模型包含了三個(gè)分支,每一分支都負(fù)責(zé)生成某種分辨率下的圖像,也對(duì)應(yīng)著自己獨(dú)立的判別器(對(duì)應(yīng)高、中、低分辨率的生成圖像)。
菜譜中的食材數(shù)據(jù)首先被編碼成共享隱空間中的向量p+,隨后利用條件增強(qiáng)網(wǎng)絡(luò)Fca來(lái)估計(jì)外觀因子相關(guān)的分布p(c|p+)。將c與噪聲z同時(shí)輸入到第一個(gè)分支中進(jìn)行低分辨率圖像生成。通過(guò)F0生成隱含特征,并通過(guò)T0生成對(duì)應(yīng)的圖像。此時(shí)前一個(gè)分支的隱含特征將作為下一個(gè)分支的輸入來(lái)生成更高分辨率的圖像。
生成模型包含了三個(gè)生成器和判別器,用于生成高中低三種不同分辨率的圖像。
模型中的判別器需要同時(shí)完成三個(gè)功能,首先需要正確識(shí)別出對(duì)應(yīng)菜品真實(shí)圖像,同時(shí)也需要能夠區(qū)分出真實(shí)/錯(cuò)誤對(duì)應(yīng)的菜品圖像,還需要識(shí)別出模型生成的偽造圖像。這樣就能訓(xùn)練網(wǎng)絡(luò)生成出與訓(xùn)練數(shù)據(jù)中食材對(duì)應(yīng)菜品圖像更為接近的結(jié)果。
驚艷的菜品生成結(jié)果
為了檢驗(yàn)基于注意力的聯(lián)合模型對(duì)于特征的抽取能力,研究人員首先進(jìn)行了基于菜譜食材的對(duì)應(yīng)圖像檢索實(shí)驗(yàn)。在實(shí)驗(yàn)中研究人員基于Recipe1M數(shù)據(jù)集進(jìn)行訓(xùn)練,并抽取了其中1989種常見(jiàn)食材,并使用擁有多張菜品圖和多種食材的菜譜。
在實(shí)驗(yàn)中主要利用了中位檢索排序(median retrieval rank, MedR, 越小越好)和top k召回率(recall at top K, R@K,召回越大越好)來(lái)對(duì)結(jié)果進(jìn)行度量。從下表中可以看到研究人員提出的方法將MedR下降了很多,同時(shí)提升了R@K。
下圖展示了菜譜中的食材檢索出的top5對(duì)應(yīng)圖像??梢钥吹綑z索出的圖像都屬于同一類,證明了模型對(duì)于原材料的理解和特征抽取具有泛化性。
隨后研究人員針對(duì)沙拉、餅干和松餅等三類西方常見(jiàn)的食物進(jìn)行訓(xùn)練和合成,并利用感知分?jǐn)?shù)和Frechet感知距離來(lái)作為評(píng)測(cè)指標(biāo)。下圖可以看到本文提出的方法合成出的食物特別逼真,同時(shí)也真實(shí)反映了食材的構(gòu)成。
對(duì)于同樣的食材輸出,模型生成的菜品圖像表現(xiàn)也很穩(wěn)定:
與左上角的真實(shí)圖像相比,我們可以看到菜品的種類保持穩(wěn)定,同時(shí)圖像的質(zhì)量也十分優(yōu)秀。
最后研究人員還分析了隱含特征空間中的線性插值情況,在兩個(gè)不同的菜譜間進(jìn)行差值可以看到一盤(pán)菜漸漸變成了另一盤(pán)了!
有了這樣的模型,下次買(mǎi)菜回來(lái)不知如何下手的時(shí)候,要不要先問(wèn)問(wèn)AI這些食材將會(huì)變成什么樣的美食呢?說(shuō)不定它合成出的食物圖像將會(huì)啟發(fā)你在廚房的想象力呢!enjoy~~~
-
圖像
+關(guān)注
關(guān)注
2文章
1094瀏覽量
41244 -
AI
+關(guān)注
關(guān)注
88文章
35132瀏覽量
279689 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
9文章
1708瀏覽量
46775
原文標(biāo)題:從食材到菜品,AI幫你想象出豐盛晚餐該有的模樣
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門(mén)創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論