![]()
這項由中國人民大學高嶺人工智能學院與美團、武漢大學聯合開展的研究,于2026年4月發布在預印本平臺arXiv,編號為arXiv:2604.10425v1。研究成果以DiningBench這一全新評測基準為核心,系統性地檢驗了當前最先進的視覺語言模型在食物識別與理解領域的真實能力。
你有沒有想過,當你打開外賣軟件,看著那張色澤金黃、擺盤精致的"招牌紅燒肉"圖片時,如果換成一個AI來看這張照片,它能真正明白這道菜是什么、有多少熱量、適不適合正在減肥的你嗎?這個問題聽起來簡單,但背后藏著一個AI領域長期沒有被認真回答的難題。
近年來,視覺語言模型(簡稱VLM,你可以把它理解為一種"既能看圖又能說話"的AI)發展得相當迅猛。GPT-4o、Gemini這些名字你可能已經耳熟能詳。它們能看圖回答問題、理解場景、甚至創作詩歌。然而,當這些AI被拉到餐桌前,面對一道普普通通的家常菜時,它們的表現卻讓人大跌眼鏡——或者說,至少在這項研究出現之前,我們根本不知道它們到底表現如何,因為一直缺少一把合適的"尺子"來量。
這把"尺子",就是DiningBench。
一、為什么我們需要一套專門測試AI吃貨能力的考題?
以往用來測試AI認識食物能力的數據集,就像一套已經用了十年的老教材。Food-101是其中最有名的一個,顧名思義,里面有101種食物的照片,讓AI來分類。UEC-Food也是類似的思路。這些數據集幫助AI學會了區分漢堡和比薩,但問題在于,它們的"考題"太簡單了。
打個比方,這就好比考一個廚師,只問他"這是牛肉還是豬肉",卻從不考"這道紅燒肉用的是五花肉還是梅花肉"、"這碗湯的熱量大概是多少"、"這道菜適不適合高血壓患者吃"。舊的考題之所以太容易,原因有四個層面。
第一,任務太單一。大多數舊數據集只考"這是什么食物",完全不涉及更深入的問題,比如營養含量或烹飪分析。第二,都是單張照片。現實中,當你想搞清楚一道菜的份量和配料,你會從多個角度拍幾張照片;而舊數據集只給AI看一張圖,信息量嚴重不足。第三,干擾選項太容易排除。舊數據集的多選題,正確答案往往是"紅燒肉",錯誤選項卻是"草莓蛋糕",AI根本不需要真正看懂圖,靠猜都能答對。第四,營養數據不靠譜。現有的營養估算數據集,要么圖片質量太差,要么只覆蓋標準化的食堂或快餐連鎖,根本不能代表真實世界里五花八門的餐廳菜品。
正是為了填補這四個空缺,研究團隊建立了DiningBench。
二、DiningBench長什么樣?它是怎么建起來的?
DiningBench的原材料來自美團——中國最大的本地生活服務平臺。這個平臺上有海量的餐廳菜品圖片,既有商家精心拍攝的宣傳照,也有用戶從各種角度隨手拍的真實照片,還附帶菜品名稱、份量、食材描述等文字信息。這是一座數據金礦。
但金礦不能直接用,必須經過嚴格的篩選和加工。研究團隊從大約2000萬張用戶上傳圖片出發,經過一套多階段的自動化篩選流程。他們先用知識蒸餾的方式,基于Qwen-2.5-VL-7B訓練了兩個專用的AI判斷器:一個負責評估圖片質量,另一個負責核驗用戶照片是否與商家宣傳圖對應同一道菜。這兩個AI把數據從2000萬張篩到了68.5萬張。
接下來,按菜品分組后,用戶照片不足三張的菜品被剔除,保留了9萬道菜。再驗證商家宣傳圖的質量,剩下4.1萬道。又進一步篩選出含有詳細食材列表描述的菜品,得到1.5萬個候選。最終,經過按菜系類別去重、均衡,加上人工質量抽查,最終形成了包含6057道高質量菜品的基礎數據集,每道菜平均配有5.27張來自不同用戶、不同角度的照片。這個"5.27張"的數字,正是DiningBench區別于其他單張圖片數據集的關鍵特征之一。
在這個基礎上,研究團隊按三種不同難度的任務分別構建了測試集。
精細分類任務的測試集包含2884道菜品、15330張圖片、覆蓋1977個菜品類別。營養估算任務的測試集包含1650道菜品、8856張圖片。視覺問答任務則包含804對高質量問答,涵蓋了烹飪技法識別、飲食建議、多圖對比分析和反事實推理四大類型。
三、三關考題:從認臉到算營養,再到當營養師
DiningBench的考題設計采用了遞進式的認知復雜度,從最基礎的"認出它是什么",到需要數字推斷的"算出它有多少熱量",再到需要綜合判斷的"回答關于它的復雜問題",層層遞進,測的不只是AI"看"的能力,更是AI"理解"的能力。
第一關是精細分類,也是讓AI感受最深的一關。具體做法是:給AI看一張或多張菜品圖片,同時提供8個選項,其中一個是正確答案,其余7個是"陷阱"。這7個陷阱不是從整個食物庫里隨機挑的,而是從同一家餐廳的同一類菜單里挑選出來的視覺上最相似的菜品。比如,正確答案是"煙熏三文魚沙拉",干擾選項里就有"新鮮三文魚牛油果沙拉"——兩道菜都有三文魚,都是沙拉,顏色也差不多,但用的食材和做法不同。AI要從這8個選項里找出正確答案,不能靠大概猜,必須真正看出細節差異。
第二關是營養估算。給AI看一張或多張食物圖片,讓它直接估算這道菜的熱量(千卡)、碳水化合物(克)、蛋白質(克)和脂肪(克)這四個數字。這是純粹的回歸問題——AI必須從視覺信息中推斷出食物的重量、體積、食材構成,然后計算出營養值。這對任何AI來說都極具挑戰性,因為同樣看起來是一碗面,實際份量可能差一倍,營養值也就差一倍。
第三關是視覺問答。這一關的問題更加開放和多元,比如"這道菜用的是煎還是炸的方式烹飪的?"、"假設一個素食者想吃這道菜,它符合要求嗎?"、"對比這兩張來自不同顧客的照片,實際端上桌的菜和宣傳圖相比,份量有什么差異?"這些問題需要AI綜合運用視覺感知、食物知識和邏輯推理能力。
營養數據的來源經過了雙重保障。一部分來自商家直接提供的營養標注,另一部分通過Gemini-3-Pro-Preview模型結合菜品圖片、食材列表和份量信息進行智能估算,全部生成結果再與美國農業部的USDA FoodData Central數據庫交叉比對,并經過人工逐一核驗,最終保留1650條合格樣本。
四、29個AI選手上場,結果出乎意料
研究團隊把市面上29個最主流的視覺語言模型全部拉進了考場,其中10個是收費的商業模型(包括Claude、Gemini、GPT系列),19個是可以免費使用的開源模型(包括InternVL、Qwen-VL系列,以及Gemma、Keye-VL、MiniCPM等)。
先說精細分類。成績最好的是Gemini-3-Flash-Preview,正確率達到81.83%,排在第二的是Gemini-3-Pro-Preview,正確率81.55%。這兩個成績已經相當不錯——畢竟這是8選1,純猜的話正確率只有12.5%。但排在后面的模型表現就開始令人擔憂:GPT-4o的正確率只有65.26%,GPT-5也只有70.18%。開源模型里,InternVL-3.5-4B更是只有43.76%,比拋硬幣隨機猜的表現好不了多少。這說明,在真正需要分辨細節的食物識別任務上,即便是目前最強大的AI,也還有相當大的進步空間。
再看營養估算。這一關直接暴露了所有模型的軟肋。評估指標使用的是"平均絕對百分比誤差"(MAPE),數字越低代表預測越準。Gemini-3-Pro-Preview在這關的表現最好,平均誤差仍然高達24.45%。換句話說,哪怕是最厲害的模型,它估算出來的熱量、蛋白質等數值,平均誤差仍接近四分之一。其他模型的表現更差,GPT-4o的平均誤差達到42.43%,相當于預測一碗600千卡的米飯,誤差可能超過250千卡——這個誤差程度,用來指導減肥飲食的話,幾乎是不可用的。
視覺問答相對好一些,但離"滿分"仍然很遠。Gemini-3-Pro-Preview以90.42%的正確率領跑,GPT-4o達到80.60%,最差的開源小模型Qwen-2.5-VL-3B-Instruct只有47.64%,表現非常有限。
貫穿三關,沒有任何一個模型能在所有任務上都表現優秀。這個結論本身就很有價值——它說明食物理解對AI來說是一個復雜的多維挑戰,并非一兩個聰明的大模型就能輕松解決的。
五、多看幾張圖,真的有幫助嗎?
DiningBench的一大特色是每道菜配有多張不同角度的用戶照片。研究團隊專門設計了實驗,讓AI分別只看1張、2張、3張、4張圖,觀察成績如何變化。
結論是:多看確實有幫助,但這個好處很快就到頭了。從1張圖增加到2張圖時,所有模型的表現都有一個明顯的提升——特別是精細分類的正確率和營養估算的誤差都改善明顯。這說明,第二個角度提供的新信息確實幫助AI解決了遮擋或視角不全的問題。
然而,當圖片數量從2張繼續增加到3張、4張時,大模型(如GPT-4o和Qwen-3-VL-30B)的表現繼續緩慢改善,但小模型的表現開始出現波動甚至下滑。研究團隊的解釋是:對于參數量較少、處理能力有限的小模型來說,過多的視覺信息不但幫不上忙,反而成了一種干擾噪聲,讓模型更難做出準確判斷。
這個發現對AI應用開發者來說很有參考價值:給AI看更多圖片并不總是更好,特別是當使用的是輕量級模型時,精選2張最有代表性的圖片可能比提供4張效果更好。
六、讓AI"先想想再回答",是好事還是壞事?
在AI研究里,有一種叫做"思維鏈"(Chain-of-Thought,簡稱CoT)的技巧,意思是讓AI在給出最終答案之前,先一步步寫出自己的分析過程——就像做數學題要寫解題步驟一樣。這種方法在很多推理任務上被證明有效。
DiningBench的研究測試了這種方法在食物理解任務上是否同樣有效。結果相當反直覺:在精細分類和營養估算這兩個任務上,讓AI"先想再答"往往反而更差。尤其是在營養估算任務上,一些小型開源模型在使用思維鏈提示后,誤差急劇擴大,出現了研究團隊所稱的"性能崩塌"——原本估計還過得去,加了分析步驟后反而越估越離譜。
原因可能在于:這類任務本質上需要直接的視覺感知,而不是語言邏輯推理。當AI被要求先用文字描述食物的顏色、形狀、食材,再據此推算熱量時,文字描述階段的偏差或"想象力過度"會傳導并放大到最終數字上。就好比,你本來用眼睛估摸一個西瓜大概幾斤還差不多,但如果你先把它形容為"一個大概直徑30厘米的球形綠皮果實",再從這個文字描述倒推重量,最終結果可能反而更離譜。
視覺問答任務上,思維鏈的效果更加混雜:部分商業大模型確實因為思維鏈而提升了正確率,但GPT-4o-mini和一些小型Qwen變體的表現反而下降。歸根結底,思維鏈能不能幫上忙,高度依賴于模型本身的視覺理解基礎是否扎實。如果AI基礎上就看不清楚圖,讓它多想幾步,只會把錯誤的推理鏈拉得更長。
七、AI在食物理解上究竟卡在哪里了?
通過大量分析錯誤案例,研究團隊歸納出了五個主要的失敗模式,這五個問題不僅解釋了為什么AI在這些任務上表現不理想,也為未來的研究指出了方向。
第一個問題是精細區分能力不足。AI在識別食物時,往往像是在用"大塊歸類"的方式工作——它能認出"這是一道有紅色食材的燉菜",卻分不清"番茄燉牛肉鍋"和"麻辣牛肉鍋",因為兩者顏色相近、擺盤類似。對于細微的食材組合差異、切法差異、醬汁狀態差異,AI的感知能力明顯不足。
第二個問題是過度依賴"背下來的知識"。當AI遇到不確定的情況時,它傾向于回答自己見過最多次的常見菜名,而不是真正根據圖片中的細節判斷。比如,同樣一道雞肉菜,圖片里明明有蔥油的光澤和質感,AI卻把它認成更常見的"烤雞",完全忽略了圖片里與烤雞截然不同的視覺特征。
第三個問題是缺乏空間和體積感知能力。要準確估算一道菜的熱量,AI必須理解這道菜實際的重量和體積——但這需要從二維圖片里推斷三維的空間信息,比如碗有多深、食材堆得多厚。目前的AI在這方面能力很弱,經常把一份小食和一份主餐估算出差不多的熱量,僅僅因為它們在圖片上看起來占據相近的面積。
第四個問題是多圖融合能力不成熟。前文已經提到,多張圖片并不總能帶來提升,因為AI還不擅長從多個角度的照片中提取互補信息、過濾重復信息。結果是,更多的圖片有時帶來更多的困惑,而非更清晰的判斷。
第五個問題出現在那些帶有"深度思考"功能的推理模型上。部分小型推理模型在面對視覺不確定性時,會陷入一種"無限循環思考"的狀態——它們持續生成分析步驟,卻始終無法收斂到一個確定的答案,就像一個過于謹慎的人站在餐廳門口想了半天要點什么,最后卻還是沒點。
八、把菜單從中文翻成英文,AI的表現會變嗎?
為了讓DiningBench能被全球研究者使用,研究團隊還用Gemini-3-Pro-Preview把整個數據集翻譯成了英文版,并進行了人工校對。隨后對比了同一批模型在中文版和英文版上的表現差異。
結果揭示了一個有趣的語言偏差現象。在精細分類任務上,所有模型在英文版上的表現都比中文版更差。Qwen系列模型的下降幅度最明顯,以Qwen-3-VL-8B-Instruct為例,中文版正確率64.15%,英文版只有58.56%。原因可能在于:這些模型在預訓練時接觸了大量中文菜名和中文食物描述,對"蔥油雞"、"東坡肉"等名稱有更深的視覺-語言關聯;一旦換成翻譯后的英文名,這種關聯就變弱了。
反過來,營養估算任務在英文版上對部分模型(特別是Gemini-2.5系列和GPT-4o系列)的表現有所提升。研究團隊推測,這些模型的定量推理能力在英文環境下更強,可能是因為它們在英文語料上進行的數值計算訓練更充分。
這個發現對AI開發者是一個提醒:語言版本對模型表現的影響不可忽視,特別是在涉及文化知識密集型的任務上。
歸根結底,DiningBench這項研究做了一件看似簡單卻很重要的事情:它認認真真地測了AI認菜的能力,發現了一堆之前沒人系統記錄過的短板。AI確實能認出食物,但要真正做到"像懂行的營養師一樣看菜識營養",當前最好的模型還差得相當遠。熱量估算誤差24%是最好成績,大多數模型的誤差在40%以上;精細分類的最高成績也不過82%,很多模型勉強超過50%。
這意味著,用AI來做飲食日記、營養追蹤、健康管理,在準確度上目前仍有明顯局限。不過,這些局限被清晰地量化和描述出來,本身就是進步——有了這把尺子,才知道哪里需要改進。
DiningBench數據集已在Hugging Face平臺公開發布,在CC BY-NC-ND 4.0許可證下供非商業研究使用。有興趣深入了解的讀者可以通過arXiv:2604.10425查閱完整論文。下次拍下你的外賣照片時,或許可以想一想:這張圖里藏著多少連最聰明的AI都還沒真正看懂的信息。
Q&A
Q1:DiningBench和之前的食物數據集相比,最大的不同是什么?
A:DiningBench最核心的區別在于三點:每道菜平均配有5.27張不同角度的多視角圖片;分類任務的干擾選項來自同一家餐廳同一類別的相似菜品,而非隨機抽取,難度大幅提升;營養數據經過與美國農業部數據庫交叉核驗加人工審核,可靠性更高。舊數據集如Food-101只有單張圖片、分類任務較簡單,完全不涉及營養估算。
Q2:營養估算任務上表現最好的AI誤差有多大?
A:即便是表現最好的Gemini-3-Pro-Preview,四種營養成分的平均絕對百分比誤差也達到24.45%。換句話說,如果一道菜實際熱量是600千卡,這個模型的預測誤差平均約為147千卡。大多數其他模型的誤差在40%左右,實際使用價值相當有限,目前還不足以支撐精準的飲食健康管理應用。
Q3:為什么讓AI"先推理再回答"在食物識別上反而更差?
A:思維鏈提示要求AI先用文字描述食物特征,再從文字推導答案,但食物分類和營養估算本質上需要直接的視覺感知。當AI把圖片轉換成文字描述時,描述階段產生的偏差會被后續推理過程放大,導致最終答案比直接回答更不準確,部分小模型甚至出現誤差急劇擴大的"性能崩塌"現象。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.