发布时间:2026/9/5 9:20:25
医院食堂AI小碗菜自动识别+刷脸扣餐补,Python调用示例(干货) 最近给某三甲医院做了一套AI智慧餐线改造,核心是小碗菜自动识别刷脸扣餐补。改造过程踩了不少坑,把整体技术方案和Python调用示例整理出来,供同行参考。一、整体架构整个系统分三层:# 系统架构图(简化) [打菜窗口] ├── AI识别摄像头 → 图像采集 边缘推理 ├── 显示屏幕 → 菜名/单价/总价实时展示 └── 刷脸终端 → 人脸识别 餐补扣款 [边缘网关] ├── 菜品识别服务(Flask) ├── 人脸识别SDK(本地) └── 订单/扣款服务(REST) [后端服务] ├── 食堂运营管理后台 ├── 餐补账户系统 ├── 员工身份库 └── 数据分析报表二、AI识别小碗菜的核心实现菜品识别走的是图像分类,模型采用预训练的ResNet50微调。识别服务用Flask暴露HTTP接口,边缘摄像头采集图片后调用推理:from flask import Flask, request, jsonify import torch from torchvision import transforms from PIL import Image import io app Flask(__name__) # 加载微调后的菜品识别模型 model torch.load(dish_classifier_v3.pt, map_locationcpu) model.eval() # 菜品类别(医院食堂常见) DISH_CLASSES [ 宫保鸡丁, 清炒时蔬, 红烧肉, 番茄炒蛋, 土豆烧牛肉, 白米饭, 馒头, 小米粥, 葱油拌面, 紫菜蛋花汤 ] # 推理前处理 transform transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ]) DISH_PRICES { 宫保鸡丁: 18, 清炒时蔬: 12, 红烧肉: 22, 番茄炒蛋: 14, 土豆烧牛肉: 20, 白米饭: 3, 馒头: 2, 小米粥: 4, 葱油拌面: 15, 紫菜蛋花汤: 8 } app.route(/recognize_dish, methods[POST]) def recognize_dish(): if image not in request.files: return jsonify({code: 1, msg: 缺少图片}), 400 img_file request.files[image] img Image.open(io.BytesIO(img_file.read())).convert(RGB) img_tensor transform(img).unsqueeze(0) with torch.no_grad(): outputs model(img_tensor) probs torch.softmax(outputs, dim1) confidence, predicted torch.max(probs, 1) dish_name DISH_CLASSES[predicted.item()] confidence_score confidence.item() # 置信度阈值 if confidence_score 0.85: return jsonify({ code: 0, msg: 识别置信度不足,请阿姨手动选择, confidence: round(confidence_score, 3) }) return jsonify({ code: 0, dish_name: dish_name, price: DISH_PRICES[dish_name], confidence: round(confidence_score, 3) }) if __name__ __main__: app.run(host0.0.0.0, port5001)三、刷脸扣餐补的流程刷脸扣餐补的核心是人脸1:1比对 餐补账户扣款,调用方是边缘刷脸终端:import requests FACE_RECOGNITION_API https://canteen.example.com/api/v1/face_match MEAL_ACCOUNT_API https://canteen.example.com/api/v1/meal_account def face_payment(user_id, face_token, amount): 刷脸扣餐补 # 1. 人脸1:1比对 match_resp requests.post(FACE_RECOGNITION_API, json{ user_id: user_id, face_token: face_token }).json() if match_resp[data][similarity] 0.92: return {code: 1, msg: 人脸比对失败} # 2. 餐补扣款 deduct_resp requests.post( f{MEAL_ACCOUNT_API}/deduct, json{ user_id: user_id, amount: amount, source: face_recognition } ).json() if deduct_resp[code] ! 0: return {code: 1, msg: 扣款失败} return { code: 0, user_name: match_resp[data][user_name], balance: deduct_resp[data][balance_after], amount_deducted: amount } # 边缘刷脸终端调用 result face_payment( user_idN20240901, face_tokenxxxxx, amount33 ) print(result)四、踩坑经验1.识别准确率:模型微调时一定要覆盖医院食堂真实菜品,不能直接用公开数据集。建议采集至少500张/菜的真实图片做微调。2.置信度阈值:实测下来,0.85的阈值能保证九成五以上的识别率,同时把误识别压到很低。3.阿姨手动纠偏:AI再准也不到100%,界面必须留阿姨手动选择入口,否则一线会抵触。4.临时人员兼容:医院人员流动复杂(实习生、进修医生、送餐员),必须支持临时人脸录入或刷卡扫码兼容,不能一刀切。5.数据安全:人脸数据加密存储,只用于食堂扣款,权限最小化,定期安全审计。五、改造成效这套方案由好伙狮数字食堂提供,医院员工餐厅中午高峰单位时间通过的份数明显增加,排队长度缩短,等太久算错价投诉基本归零。AI干苦力,刷脸干结算,让打菜阿姨回归手艺,可能是医院食堂近些年最实用的升级之一。

相关新闻

2026/9/5 9:20:25

奥赛一本通 1432 糖果传递

1432 糖果传递 题目大意 给定一个环形正整数序列 $a_0, a_1, \dots, a_{n-1}$,相邻的两个数可以传递数值,代价就是数值大小,求使每个数都相等的最小代价。 知识要点 贪心、绝对值 解题思路 将 $n$ 个数的平均值记为 $v$,每个数向右…

2026/9/5 9:15:25

初创团队租共享办公还是独立办公室更划算?这几笔账需要算清楚!

上海共享办公室租赁市场行情分析 在上海这片商业热土上,共享办公室市场那是相当火热。随着创业大潮的涌起,越来越多的初创企业和中小公司对灵活办公空间的需求与日俱增。这就好比大家都在抢热门演唱会的门票一样,共享办公室因为其低成本、灵活…

2026/9/5 10:15:32

谷歌为 Gmail、Docs 和 Keep 推 AI 语音助手,移动操作更便捷!

谷歌为办公应用注入 AI 语音交互新活力谷歌正在为 Gmail、Docs 和 Keep 推出由人工智能驱动的语音助手模式——Gmail Live、Docs Live 和 Keep Live,让用户能通过语音与这些应用交互并实现管理操作。这一功能与谷歌聊天机器人的 Gemini Live 体验类似,方…

2026/9/5 10:15:32

白豆农药残留检测试剂盒:国标限量、超标风险与快速检测方案

白豆农药残留噻虫胺、吡虫啉、多菌灵等超标风险突出。冠宇仪器制造(江苏)有限公司推出白豆农药残留检测试剂盒,农药残留胶体金试剂盒能够快速检测白豆中的克百威、甲胺磷、毒死蜱、氟虫腈、涕灭威等农药残留,农药残留检测仪双技术…

2026/9/5 10:15:32

技术转移机构在对接成果时如何有效评估技术价值?

观点作者:科易网-国家科技成果转化(厦门)示范基地 在当前全球科技创新加速发展的背景下,技术转移机构作为连接科研成果与产业应用的关键桥梁,其在技术评估环节的专业性与效率直接决定了科技成果能否实现高效转化。随着…

2026/9/5 10:15:32

Tecno概念机Bezelless实现真正无边框屏幕,能否引发行业变革?

Tecno概念机Bezelless亮相:实现真正无边框屏幕,能否引发行业变革?回想大约十年前,智能手机制造商热衷于缩小手机边框,屏幕不断增大,黑边逐渐缩小,一度让人觉得真正的无边框显示屏近在咫尺。然而…

2026/9/5 10:10:32

四代互联网操作系统迭代:从纯虚拟网络到实体全域系统架构解析

互联网发展数十年,整体可以划分为四代技术体系,每一代都对应一套专属底层操作系统范式。底层架构的不同,直接决定了互联网的数据归属、价值流转方式与落地边界。Web1 时代的底层核心是浏览器系统。 核心能力仅为信息展示、页面访问&#xff0…

2026/9/5 2:46:54

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/5 2:46:52

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/5 2:44:34

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/5 0:04:47

流式背压机制:避免前端渲染卡死与内存暴涨的滑动窗口限流

流式背压机制:避免前端渲染卡死与内存暴涨的滑动窗口限流在大模型流式输出(Streaming)与智能体实时推流的架构中,生产环境中经常出现一种“上下游生产消费速率严重失衡”的极端情况: 生产端极速产出:大模型…

2026/9/5 2:45:13

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/5 2:46:50

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…