Ostrakon-VL-8B应用案例:基于YOLOv11的餐盘多目标检测与成分识别

张开发
2026/4/19 0:02:30 15 分钟阅读
Ostrakon-VL-8B应用案例:基于YOLOv11的餐盘多目标检测与成分识别
Ostrakon-VL-8B应用案例基于YOLOv11的餐盘多目标检测与成分识别最近在做一个智慧食堂的项目遇到了一个挺有意思的需求怎么让机器自动识别餐盘里都有哪些菜并且分析出营养成分。这听起来简单做起来可不容易。餐盘里的菜常常混在一起边界模糊而且中餐的烹饪方式多样识别起来挑战不小。我们尝试过一些现成的方案要么是检测不准把土豆和胡萝卜认成一个东西要么是识别不清分不清这是红烧肉还是梅菜扣肉。后来我们琢磨出了一个组合方案先用目标检测模型把餐盘里不同的菜品区域框出来再用一个强大的视觉语言模型去仔细“看”每一个框里的内容是什么。具体来说我们选了YOLOv11来做第一步的“找菜”然后用Ostrakon-VL-8B来做第二步的“认菜”。这个组合用下来效果出乎意料的好。它不仅能告诉你盘子里有“西红柿炒鸡蛋”、“清炒西兰花”还能进一步分析出主要的食材构成为后续的营养计算打下了很好的基础。今天这篇文章我就带大家看看这个方案的实际效果分享一些我们跑出来的案例也聊聊背后的思路和可能的用处。1. 方案思路先定位再细看这个方案的核心思想是“分而治之”。面对一个复杂的餐盘图像直接让模型说出所有菜品及其成分难度很高容易出错。我们的策略是分成两个明确的阶段第一阶段目标检测用YOLOv11这个阶段的任务是回答“菜在哪里”。YOLOv11模型负责快速扫描整张餐盘图片找出所有可能是独立菜品的区域并用边界框Bounding Box标记出来。它的优势是速度快对物体位置敏感能够很好地将粘连或重叠的菜品区分开。比如它能把米饭、主菜、配菜和水果分别框出来。第二阶段视觉识别与理解用Ostrakon-VL-8B拿到YOLOv11提供的各个菜品区域后Ostrakon-VL-8B就登场了。它的任务是回答“这是什么菜里面有什么”。我们将每个裁剪出来的菜品小图单独输入给Ostrakon-VL-8B并辅以精心设计的文本提示Prompt让它对菜品进行精细识别和描述。Ostrakon-VL-8B作为视觉语言模型不仅能识别物体还能理解其属性和成分比如识别出“这是宫保鸡丁主要成分是鸡丁、花生、黄瓜和干辣椒”。这个流程就像是一个流水线YOLOv11是粗筛工快速分拣Ostrakon-VL-8B是质检员仔细鉴定。两者结合既保证了效率又提升了识别的准确度和丰富度。2. 效果展示从图片到营养报告光说思路可能有点抽象下面我通过几个具体的餐盘案例来展示一下这个组合方案的实际输出效果。你会看到从一张简单的餐盘照片开始系统是如何一步步生成一份详细的成分分析报告的。2.1 案例一标准工作餐盘我们先来看一个比较常见的午餐餐盘例子。原始餐盘图片一个餐盘里盛有米饭、青椒炒肉片、清炒豆芽和几片西瓜。处理流程与结果YOLOv11检测结果模型成功检测到了4个目标区域并给出了置信度。区域1置信度0.92白色团状物体 - 识别为“米饭”。区域2置信度0.88绿色与褐色相间炒菜 - 识别为“青椒炒肉片”。区域3置信度0.85浅黄色丝状物体 - 识别为“清炒豆芽”。区域4置信度0.95红色块状物体 - 识别为“西瓜”。Ostrakon-VL-8B精细识别我们将上述四个区域图片分别输入。对区域1米饭提问“请识别图片中的食物并列出其主要成分。”Ostrakon-VL-8B回复“这是白米饭。主要成分是煮熟的大米。”对区域2青椒炒肉片提问“请识别图片中的菜肴并详细描述其中的可见食材。”Ostrakon-VL-8B回复“这是青椒炒肉片。可以清楚地看到绿色的青椒块、褐色的猪肉片可能还有少量蒜片和酱油等调味料的痕迹。”对区域3清炒豆芽提问“请识别图片中的蔬菜并描述其形态。”Ostrakon-VL-8B回复“这是清炒豆芽。食材是黄豆芽呈浅黄色根须清晰可见经过清炒后略有收缩。”对区域4西瓜提问“请识别图片中的水果。”Ostrakon-VL-8B回复“这是切块的西瓜红色瓜瓤带有黑色瓜子。”最终生成的餐盘分析报告菜品清单白米饭青椒炒肉片清炒豆芽西瓜。主要成分分析主食大米。蛋白质来源猪肉。蔬菜青椒、黄豆芽。水果西瓜。简要备注这是一份搭配相对均衡的工作餐包含主食、荤菜、素菜和餐后水果。这个案例展示了方案对常见、区分度高的菜品的处理能力。YOLOv11的定位准确为后续的精细识别打下了好基础。2.2 案例二菜品粘连的复杂餐盘实际场景中菜品常常不会摆放得那么规矩。第二个案例我们提高点难度。原始餐盘图片餐盘中有炒面与豆芽、胡萝卜丝粘连、糖醋里脊酱汁较多和麻婆豆腐与米饭边界模糊。处理流程与结果YOLOv11检测结果面对粘连场景YOLOv11依然表现稳健。区域1置信度0.86黄色面条与豆芽胡萝卜混合 - 识别为“炒面”。区域2置信度0.90深红色块状物体 - 识别为“糖醋里脊”。区域3置信度0.83棕红色糊状物与白色米饭相邻 - 识别为“麻婆豆腐及周边米饭”。这里YOLOv11将豆腐和紧挨着的米饭一起框了出来这是一个可以接受的折中避免了硬性分割导致的信息丢失。Ostrakon-VL-8B精细识别对区域1炒面提问“识别这份主食并说明其中可见的配菜。”Ostrakon-VL-8B回复“这是炒面。主要成分是黄色的面条混合了豆芽和胡萝卜丝。”对区域2糖醋里脊提问“识别这份肉类菜肴描述其外观和可能的烹饪方式。”Ostrakon-VL-8B回复“这是糖醋里脊。外观是裹着浓稠深红色酱汁的炸肉块烹饪方式应为油炸后裹糖醋汁。”对区域3麻婆豆腐及周边米饭提问“请分别描述图片中心棕红色的菜肴和旁边的白色主食。”Ostrakon-VL-8B回复“图片中心是麻婆豆腐可见棕红色的辣油、肉末和豆腐块。旁边是白米饭部分沾染了豆腐的酱汁。”最终生成的餐盘分析报告菜品清单炒面配豆芽、胡萝卜糖醋里脊麻婆豆腐米饭。主要成分分析主食面条米饭。蛋白质来源猪肉里脊、肉末。豆制品豆腐。蔬菜豆芽胡萝卜。备注餐盘口味较重糖醋、麻辣菜品间有轻微粘连但系统成功解析了主要构成。这个案例体现了方案在非理想条件下的鲁棒性。即使菜品边界不清通过两阶段配合依然能提取出关键信息。2.3 案例三西式简餐餐盘我们再换一种风格看看对西餐的识别效果。原始餐盘图片餐盘中有蔬菜沙拉、煎鸡胸肉和土豆泥。处理流程与结果YOLOv11检测结果区域1置信度0.89多种颜色蔬菜混合 - 识别为“沙拉”。区域2置信度0.93浅棕色片状肉类 - 识别为“煎鸡肉”。区域3置信度0.91浅黄色膏状物 - 识别为“土豆泥”。Ostrakon-VL-8B精细识别对区域1沙拉提问“识别这份沙拉并列举出可以辨认的蔬菜种类。”Ostrakon-VL-8B回复“这是蔬菜沙拉。包含生菜、紫甘蓝丝、小番茄和黄瓜片。”对区域2煎鸡肉提问“识别这份肉类描述其烹饪方式和状态。”Ostrakon-VL-8B回复“这是煎鸡胸肉。表面有煎烤形成的浅棕色焦痕切成片状。”对区域3土豆泥提问“识别这份主食或配菜。”Ostrakon-VL-8B回复“这是土豆泥质地细腻呈浅黄色。”最终生成的餐盘分析报告菜品清单蔬菜沙拉含生菜、紫甘蓝、小番茄、黄瓜煎鸡胸肉土豆泥。主要成分分析蛋白质鸡胸肉。蔬菜生菜、紫甘蓝、番茄、黄瓜。主食/淀粉土豆。备注典型的西式健康餐搭配高蛋白富含蔬菜烹饪方式以煎和生食为主。这个案例展示了方案的泛化能力不仅适用于中餐对西餐或其他菜系的常见菜品也能进行有效识别和分解。3. 技术实现要点与讨论看了上面的效果你可能想知道这套方案具体怎么搭以及有哪些需要注意的地方。这里我简单分享几个关键点。关于YOLOv11的选用与调整我们选择YOLOv11主要是看中它在速度和精度上的平衡非常适合需要实时或准实时处理餐饮场景。在实际使用时我们用包含各种餐盘、菜品的数据集对模型进行了微调Fine-tuning这显著提升了它对“菜品”这个特定类别物体的检测精度减少了将餐盘边缘、阴影误检为菜品的情况。对于菜品粘连的问题除了依赖模型本身的能力在后期处理中我们也会对检测框进行简单的重叠度分析和合并避免一个菜品被重复框选。关于Ostrakon-VL-8B的提示词设计让大模型“好好说话”是关键。我们对不同识别需求设计了不同的提示模板基础识别“这是什么食物/菜肴”成分询问“请列出图片中食物的主要成分。”细节描述“描述这份食物的外观、烹饪方式和可见食材。” 通过设计针对性的问题可以引导模型输出我们最关心的结构化信息而不是一段笼统的描述。处理流程的自动化整个流程可以完全自动化。部署时我们构建了一个简单的Pipeline图片输入 - YOLOv11检测 - 裁剪各区域图片 - 并行调用Ostrakon-VL-8B API进行识别 - 结果汇总与报告生成。对于一份餐盘整个过程可以在几秒到十几秒内完成满足大部分实际应用对速度的要求。方案的边界与挑战当然这个方案也不是万能的。我们遇到的主要挑战包括极端遮挡或混合比如完全搅在一起的“大杂烩”菜品YOLOv11可能无法分出独立区域。罕见或地域性极强的菜品如果Ostrakon-VL-8B在训练时没见过某种特色菜它可能无法准确识别或描述。成分的量化目前系统能分析“有什么”但很难精确判断“有多少”例如肉片具体有多少克。这需要更复杂的图像分析或与重量传感结合。 尽管如此对于自助餐盘点、营养趋势分析、团餐偏好调查等场景当前方案提供的定性分析结果已经具有很高的实用价值。4. 应用场景展望这种“检测识别”的协同模式打开了不少有趣的应用想象空间。在智慧食堂与健康管理领域 这是最直接的应用。可以为就餐者实时提供餐盘的成分分析并估算大致的热量、蛋白质、碳水等营养信息辅助健康饮食。对于食堂管理方可以汇总分析菜品受欢迎程度和营养搭配情况为菜单优化提供数据支持。在团餐与餐饮管理领域 为学校、企业、养老院等提供团餐服务的机构可以通过分析每日剩余餐盘的图像了解哪些菜品剩余多、哪些搭配不受欢迎从而减少浪费、精准备餐。也能根据历史数据为不同人群如运动人群、控糖人群定制更合适的周食谱。在食品研发与市场调研领域 快速分析市面上竞品或新产品的食材搭配为新品开发提供灵感。通过收集和分析社交媒体上的美食图片了解当前的饮食潮流和区域口味偏好。未来可能的延伸 如果结合更强大的多模态模型未来甚至可以从菜品图片推断其大致口味咸、甜、辣、推荐搭配的酒水或饮品或者根据个人健康数据给出个性化的选餐建议。技术的边界很大程度上取决于我们对场景的理解和挖掘。5. 总结回过头来看用YOLOv11做“眼睛”快速定位再用Ostrakon-VL-8B做“大脑”精细识别这个组合拳在餐盘分析这个任务上确实打得不错。它解决了一个很实际的问题如何从一张杂乱的照片里自动提取出有意义的食物信息。从展示的几个案例来看无论是标准分餐还是略有粘连的菜品系统都能较好地完成任务输出一份结构清晰的成分报告。这背后是两个模型各司其职的结果YOLOv11的快速精准定位和Ostrakon-VL-8B的深入视觉理解。当然就像前面提到的面对一些特别复杂的场景或者非常小众的菜式系统可能还会犯点小糊涂。但这恰恰是技术迭代的有趣之处。这个案例更像是一个起点展示了视觉模型与语言模型协同解决复杂场景问题的潜力。如果你正在考虑类似的图像识别与分析项目不妨试试这种分阶段的思路或许能帮你更优雅地解决问题。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章