手机扫一眼盘子算食物体积方案

理想中的体验:手机俯拍一盘菜,屏幕上直接跳出体积、质量和卡路里------背后是一串可拆解的几何与视觉计算。

减重、糖尿病饮食管理、健身增肌,都绕不开一件事:记录吃了多少。但手动输入克数是出了名地反人性------看一眼"大概一碗饭",有人估 100 g,有人估 300 g,同一份菜差出三倍。食物营养学界早就有结论:人眼对食物分量的目测误差经常在±30% 以上,越接近日常分量,误差越大。

理想中的方案很简单:手机拍一张,自动算出体积,再乘食物密度得到质量,查营养数据库就得到卡路里。这不是科幻------饮食记录 App 里早就有拍照识食物的功能,但大多数人用完就放弃,因为"识别是什么 "还行,"这堆东西到底有多大"几乎没人能算准。

真正难的,是从一张 2D 照片恢复 3D 体积。这背后不是端到端大模型黑箱吐一个数字,而是一串可以拆开、可以验证、可以调参的几何与视觉计算。本文把这条技术链路完整拆解。

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 核心判断 :手机拍一张盘子照片算食物体积,本质是"用一个已知尺寸的圆(盘子)当锚点,把 2D 图像中的食物区域,通过几何单应把位置压平到盘子平面,再用单目深度估计恢复食物高度场,最后积分成体积 "。它把问题拆成五个可验证的环节------定位盘子、恢复尺度、分割食物、估计高度、积分体积------而不是赌一个端到端模型直接吐出"350 mL"。 |

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 本文看点 * 为什么一张照片能算体积:三个关键变量拆解 * 如何用盘子椭圆反解相机姿态、做单应矩阵 * 单目深度估计如何恢复食物高度、用盘子直径做尺度校准 * 食物分割与体积积分的工程实现 * 误差来源、精度边界与拍摄规范 * 端侧 pipeline 选型与完整伪代码 |

01 问题本质:一张照片为什么能算体积

1.1 输入与输出

|----|----------------------------------------|
| 环节 | 内容 |
| 输入 | 手机摄像头拍一张盘子里的食物照片(单帧或短视频首帧) |
| 中间 | 估计食物体积 V(单位 cm³ 或 mL) |
| 输出 | 质量 m = V × ρ(ρ 为食物密度);再查食物成分数据库得热量与营养素 |

1.2 为什么不能直接 " 看 " 出体积

单目图像是 2D 的,没有深度信息。同一碗饭,手机拍得近显得大,拍得远显得小;相机倾斜时,盘子在图像中是椭圆而不是圆。没有参照系,像素尺寸和物理尺寸之间就没有桥梁。

这就是为什么必须引入一个已知尺寸的参照物------而盘子本身就是最理想的参照物:它是圆形、直径已知(标准餐盘约26 cm)、平放在桌面上、几乎总是和食物同框。

1.3 三个关键变量

|-------------|--------------------------------------|----|
| 变量 | 怎么获得 | 难度 |
| 盘子尺寸 | 已知(标准盘 26 cm),或用户选择盘子型号、放一枚硬币做标定 | 低 |
| 食物在盘子平面上的位置 | 通过椭圆拟合反解相机姿态,用单应矩阵把图像像素映射到盘子平面毫米坐标 | 中 |
| 食物高度 | 食物隆起表面到盘子平面的距离,用单目深度估计或 ToF/LiDAR 恢复 | 高 |

体积的本质是高度场的二重积分:

其中 D_food 是食物在盘子平面上占据的区域,h_food 是食物上表面高度,h_plate 是盘子平面高度(基准面)。整个技术链路,就是围绕如何把这三个量一个个算准。

**所以呢?**不要指望一个模型直接"看图说话"吐出体积数字。把体积问题拆成"位置+高度",位置用几何算、高度用深度模型估,才是工程上可控、可迭代、可验收的路线。

02 第一步:找到盘子,把图像 " 压平 " 到盘子平面

食物体积估计的第一块基石,是把"倾斜拍的一张照片"变成"正俯视的盘子俯视图"。这一步纯几何,不依赖任何深度模型。

盘子在图像中是椭圆,长短轴比编码了相机俯仰角;用单应矩阵可以把倾斜的图像拉正成正俯视。

2.1 盘子检测与椭圆拟合

相机倾斜拍摄时,正圆的盘子在图像中投影为椭圆。需要先在图像中定位盘子轮廓:

|--------|-------------------------------------------|---------------------------|
| 方法 | 做法 | 适用 |
| 传统椭圆检测 | Canny 边缘提取 + 霍夫椭圆变换 / cv2.fitEllipse拟合边缘点 | 盘子边缘清晰、背景干净;计算量小,适合端侧实时 |
| 深度学习分割 | 用 YOLOv8-seg 或轻量分割模型直接输出盘子 mask | 盘子与背景颜色接近、边缘模糊、多盘叠放;鲁棒性更好 |

拟合后得到椭圆参数:中心 (cx, cy)、长轴 a、短轴 b、旋转角 θ。这四个参数是后面所有计算的输入。

2.2 从椭圆反解相机姿态

世界坐标系中盘子是半径 R 的正圆,在图像中投影为椭圆。椭圆参数与相机姿态之间有解析关系:

|-----------------------|---------------------------------------|
| 椭圆特征 | 对应的相机姿态 |
| 短轴 / 长轴 = b / a | ≈ cos(俯仰角 φ)。完全俯视时 a = b(正圆),倾斜越大椭圆越扁 |
| 长轴方向角 θ | 编码了相机相对盘子的偏航方向 |
| 椭圆中心 (cx, cy) 与图像中心偏移 | 编码了相机在盘子平面上方的水平偏移 |

已知盘子半径 R、相机内参(焦距 fx, fy,主点 cx0, cy0),结合椭圆参数,可以用 PnP(Perspective-n-Point)或平面单应分解,解出相机相对盘子平面的外参(旋转 R、平移 t)。

2.3 单应矩阵:像素 → 盘子平面毫米坐标

盘子平面是一个 z = 0 的平面,它到图像平面的投影可以用一个 3×3 单应矩阵 H 描述:

s \cdot \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = H \begin{bmatrix} X \\ Y \\ 1 \end{bmatrix}

其中 (u, v) 是图像像素坐标,(X, Y) 是盘子平面上的毫米坐标。H 可以从椭圆参数 + 已知半径 R 解析求出。

有了 H,图像中任意一个像素都可以反投影到盘子平面上,得到它在盘子坐标系中的真实毫米坐标。这一步的实际效果是:把倾斜的、有透视畸变的照片, " 拉正 " 成正俯视的盘子俯视图。

2.4 这一步解决了什么、没解决什么

|------------------------|-------------------|
| ✅ 已经解决 | ❌ 还没解决 |
| 食物在盘子上的位置(X, Y 毫米坐标) | 食物表面的高度 Z(隆起多高) |
| 食物在盘子平面上的投影面积 | 食物表面的起伏形状 |
| 盘子直径对应的像素尺度(深度模型的"尺子") | 汤面、米饭堆这种非平面表面的高度差 |

**所以呢?**几何单应把"位置"问题彻底解决了------这一步是纯数学,误差只来自椭圆拟合精度和已知盘子直径。但"高度"问题必须靠深度估计,这才是整张技术链路里最难、最影响最终体积精度的环节。

03 第二步:估计食物高度 ------ 核心难点

几何单应解决了"位置",但体积积分里的 h_food 还没有着落。食物隆起多高、米饭堆成什么样、汤面离盘子底多高------这些都需要从图像中恢复高度信息。这是整条链路里最难、也最影响最终精度的一步。

左图是真实食物,右图是深度热力图:蓝色是盘子平面,红黄色是米饭隆起部分,高度差一目了然。

3.1 四条技术路线对比

|------------------|-----------------------------------------|-----------------|-----------|--------------|
| 路线 | 代表方案 | 精度 | 硬件要求 | 适用场景 |
| 单目深度估计(深度学习) | Depth Anything V2、ZoeDepth、DINOv2-Depth | 厘米级(相对深度,需尺度恢复) | 无,任意手机 | 量产 App 的主力方案 |
| ToF / LiDAR 直接测深 | iPhone Pro 系列 LiDAR、部分安卓 ToF | 厘米级(绝对深度) | 需硬件支持 | 高端机型,精度更高 |
| 从阴影恢复形状(SfS) | 传统明暗恢复 | 受光照假设限制,误差大 | 无 | 工程上基本不用 |
| 多视角重建 | SfM / NeRF / 3DGS 绕圈拍摄 | 毫米级 | 无,但需多角度拍摄 | 实验室级精度,不适合快拍 |

量产 App 的现实选择是第一条:单目深度估计 + 盘子做尺度锚点。ToF/LiDAR 作为高端机型的精度增强项,多视角路线留给专业场景。

3.2 单目深度估计的 " 尺度问题 "

Depth Anything V2 这类模型输出的是相对深度图(disparity),不是真实物理距离。它能告诉你"这块米饭比盘子表面高",但高多少毫米,模型本身不知道------因为单目图像中没有绝对尺度信息。

这就是为什么第 02 节要花大力气做盘子检测和单应矩阵:盘子直径是唯一已知的物理尺寸,它就是深度模型的"尺子"。

3.3 用盘子直径做尺度恢复

尺度恢复分三步:

1.取盘子平面上的相对深度:在盘子边缘(已知在盘子平面上)采样深度图,取中位数得到 d_rel_plate;

2.取食物表面的相对深度:食物区域每个像素的相对深度为 d_rel_food(x, y);

3.计算相对高度差并缩放:相对高度差 Δd_rel(x, y) = d_rel_plate − d_rel_food(x, y)(食物隆起意味着深度更近,值更大)。用盘子直径对应的像素尺度做线性缩放:

其中 D_plate_real 是盘子真实直径(如 260 mm),D_plate_depth 是盘子在深度图中的相对深度跨度。这样就把相对高度差转成了物理高度(毫米)。

|-----------------------------------------------------------------------------------------------------------------------------------|
| 关键假设 :盘子是一个平面,且盘子平面的深度变化可以忽略。这意味着深度模型必须能稳定地把盘子平面建模为同一深度------这对 Depth Anything V2 这类在大规模室内外数据上训练的模型是成立的,但在边缘畸变、盘子有花纹干扰时会引入误差。 |

3.4 食物高度场的计算

最终得到一个与食物 mask 对齐的高度场 h(x, y):

•盘子平面上:h = 0(基准面);

•食物隆起处:h > 0(米饭堆、菜堆);

•食物凹陷处:h < 0(勺子挖过的坑、汤勺印)------这部分在积分时会自动减去。

所以呢? 单目深度估计的价值,是把"食物长什么样"这个泛化问题交给一个在海量数据上训练好的模型;工程要做的,是用盘子这把已知的"尺子"把模型输出的相对值,锚定到真实物理尺寸上。模型负责形状,盘子负责尺度------这是这套方案能在普通手机上跑起来的关键。

04 第三步:食物分割与体积积分

有了高度场,还差最后一步:知道"哪些像素属于食物",然后在食物区域上把高度场积分成体积。

4.1 食物分割:把食物从盘子上抠出来

体积积分只需要食物区域,不需要整个盘子。食物分割的方案选择:

|-----------|--------------------------------------|-----------------------|
| 方案 | 做法 | 适用 |
| 通用分割大模型 | SAM2 / SAM-HQ,点击食物区域生成 mask | 食物种类未知、形状不规则;泛化好但模型大 |
| 专用食物分割 | 在食物数据集(如 FoodSeg、UEC-Food)上微调的轻量分割模型 | 量产端侧,只分"食物 vs 盘子背景"两类 |
| 颜色 + 几何阈值 | HSV 颜色空间 + 盘子区域约束,抠出非盘子颜色区域 | 盘子与食物颜色对比明显;最快但脆弱 |

工程上常见做法是:先有盘子 mask(第 02 节得到),食物 mask 限定在盘子内部;在盘子内部跑一个二分类分割(食物 vs 盘子空白),再对食物类别做细分类(米饭、肉、菜、汤)用于查营养数据库。

4.2 体积积分:把高度场加起来

有了食物 mask 和高度场 h(x, y),体积积分就是把食物区域内所有像素的高度累加:

其中 ΔA(x, y) 是盘子平面上每个像素对应的真实面积(mm²),由单应矩阵的尺度决定。这其实就是二重积分的离散化------每个食物像素贡献一个"小棱柱"体积(高度 × 像素底面积),全部加起来就是总体积。

4.3 不规则形状的处理

|-------------|------------------------------|
| 情况 | 处理方式 |
| 米饭堆成小山 | 高度场自然隆起,积分自动处理锥形 / 丘形 |
| 勺子挖过的凹陷 | 凹陷处 h < 0,积分自动减去,不需要特殊处理 |
| 汤汁液面 | 液面是平面,深度图上表现为一块平整区域,直接当平面积分 |
| 大块固体(肉块、水果) | 高度场 + 食物 mask 自然覆盖;边界靠分割模型精度 |
| 食物超出盘子 | 超出部分不在盘子平面上,尺度恢复失效,应提示用户重新拍摄 |

**所以呢?**分割决定"算哪里",高度场决定"算多高",单应矩阵决定"每个像素多大面积"。三个量都齐了,体积就是一个简单的双重求和------没有任何黑魔法,所有误差都可以归因到这三个环节中的某一个。

05 落地精度与误差分析

体积估计的最终精度不是单一环节决定的,而是前面所有误差源的叠加。理解误差从哪来,才能知道哪里还能优化、哪里不能再吹。

5.1 误差来源分解

|------------|-------------|----------------------------|-----------------|
| 误差源 | 影响环节 | 典型量级 | 可优化程度 |
| 盘子直径不准 | 尺度恢复 | ±1--2 mm → 体积误差 ~1% | 让用户选盘子型号可消除 |
| 椭圆拟合误差 | 姿态估计、单应矩阵 | 边缘模糊时偏差 5°--10° | 用深度学习分割替代传统椭圆检测 |
| 单目深度模型误差 | 食物高度估计 | 主要误差源,食物表面纹理弱 / 反光时可达 ±20% | 换更好的深度模型、端侧微调 |
| 食物分割边界误差 | 食物区域 D_food | 边缘像素多算 / 少算 5%--10% | 在食物数据集上微调分割模型 |
| 拍摄角度倾斜 | 边缘深度估计 | 倾斜 >45° 时边缘区域误差陡增 | App 引导用户正俯视 |
| 光照不均 / 强阴影 | 深度模型、分割模型 | 阴影被误判为高度差 | 拍摄引导 + 多帧 HDR |
| 食物密度假设 | 体积 → 质量转换 | 不同菜品密度差异大,可达 ±15% | 菜品识别后查密度数据库 |

|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| 现实预期 :量产级方案在理想拍摄条件下,体积估计误差约在 ±15%--25%;真实用户场景(随手拍、光照不一、混合菜)通常 ±30% 左右。这已经比人眼目测(±30%--50%)好,但远不到实验室称重的精度。给用户的结果应该是"约 280 mL"而不是"287.3 mL",并附置信度。 |

5.2 不同食物类型的精度差异

|---------------------|---------|--------|------------------------|
| 食物类型 | 深度估计难度 | 体积估计精度 | 原因 |
| 汤 / 液体 | 低(液面平) | 较好 | 液面是平面,但反光会干扰深度 |
| 米饭 / 颗粒 | 中(纹理丰富) | 好 | 表面纹理对深度模型友好;颗粒空隙影响密度换算 |
| 大块固体(牛排、水果) | 低 | 较好 | 形状规则、分割清晰 |
| 混合菜肴 | 高(层次堆叠) | 差 | 深度模型难区分上下层关系 |
| 透明 / 高反光食物(果冻、汤汁液面) | 极高 | 很差 | 光穿透表面,深度模型返回错误值 |

5.3 拍摄规范与工程建议

|------|--------------------------------|
| 维度 | 建议 |
| 角度 | 尽量正俯视,倾斜角 < 30°;App 显示对勾引导 |
| 距离 | 盘子占画面 60%--80%,约 30--50 cm |
| 光照 | 均匀自然光,避免强逆光、强烈侧光阴影 |
| 构图 | 盘子边缘完整入镜,食物不超出盘子 |
| 增强手段 | 连续拍 3--5 帧取平均;高端机型用 LiDAR 深度融合 |
| 盘子标定 | 让用户从常用盘子列表中选择型号,或放一枚标准硬币做标定 |
| 密度校准 | 菜品识别后查密度数据库,不用统一假设 |

所以呢? 体积估计不是"拍一张就完事"的魔法,它的精度天花板由深度模型决定,地板由拍摄规范决定。工程上最大的杠杆,不是换更大的模型,而是把拍摄引导做对、把盘子标定做对、把密度查表做对------这三件事对精度的提升,往往比模型升级还大。

06 工程实现路线与完整 Pipeline

前面把每个环节讲清楚了,这一节把它们串成一条可以落地的工程 pipeline,并讨论部署选型。

从拍照到体积结果,五个环节各司其职:盘子定位、食物分割、深度估计、尺度恢复、体积积分。

6.1 端侧 vs 云端

|------|----------------|--------------|
| 维度 | 端侧(手机本地) | 云端 |
| 延迟 | 低(< 1 秒),体验流畅 | 受网络影响,2--5 秒 |
| 隐私 | 照片不出手机,隐私友好 | 食物照片上传,有隐私顾虑 |
| 算力 | 有限,深度模型需轻量化 | 可跑大模型,精度更高 |
| 成本 | 无服务器成本 | 推理成本随用户量线性增长 |
| 现实方案 | 端侧做检测 + 分割 + 深度估计(TFLite / Core ML / ONNX Runtime),云端只做菜品分类与营养库查询 ||

6.2 模型选型建议

|-----------|-----------------------------------------|-------------------|
| 环节 | 推荐模型 | 理由 |
| 盘子检测 / 分割 | YOLOv8-nano-seg 或 PP-LiteSeg | 轻量、端侧友好 |
| 食物分割 | Mobile-UNet 或在 FoodSeg 上微调的轻量分割 | 只分食物 vs 盘子两类,任务简单 |
| 单目深度估计 | Depth Anything V2-Small(蒸馏后)或 Lite-Mono | 泛化好,Small 版本可端侧跑 |
| 菜品分类 | MobileNetV3 / EfficientNet-Lite | 菜品识别是成熟任务,轻量模型足够 |

6.3 完整 Pipeline 伪代码

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| python食物体积估计端侧 pipeline 伪代码# 输入:手机相机一帧图像 image,相机内参 K,已知盘子直径 260 mm # 输出:食物体积 V_cm3,菜品类别,热量 # 1. 盘子检测:得到盘子 mask 和椭圆参数 plate_mask, ellipse = detect_plate(image) # 2. 用椭圆参数 + 相机内参计算单应矩阵(图像 ↔ 盘子平面毫米坐标) H = compute_homography(ellipse, plate_diameter_mm=260.0, K=K) # 3. 食物分割:在盘子内部抠出食物区域 food_mask = segment_food_in_plate(image, plate_mask) # 4. 单目深度估计:输出相对深度图(值越大表示越近) depth_rel = depth_model.infer(image) # 5. 尺度恢复:以盘子平面深度为基准,用盘子直径做尺度 depth_plate = median(depth_relplate_edge) scale = plate_diameter_mm / (depth_relplate_edge.max() - depth_relplate_edge.min()) height_mm = (depth_plate - depth_rel) * scale # 食物隆起处为正,凹陷为负 # 6. 每个食物像素对应的盘子平面真实面积(mm²) pixel_area_mm2 = pixel_area_from_homography(H) # 7. 体积积分:食物区域高度 × 面积求和 V_mm3 = (height_mmfood_mask * pixel_area_mm2food_mask).sum() V_cm3 = V_mm3 / 1000.0 # 8. 菜品识别 → 密度查表 → 质量 → 营养 dish_class = classify_dish(image, food_mask) density = nutrition_db.get_density(dish_class) # g/cm³ mass_g = V_cm3 * density calories = nutrition_db.get_calories(dish_class, mass_g) |

**所以呢?**整条 pipeline 没有任何黑箱------每个环节的输入输出都明确、可单独测试、可归因误差。这就是为什么说"不要端到端大模型直接吐体积"------把它拆成可验证的小步骤,才是工程上能迭代、能上线、能调优的路线。

07 能力边界与常见误区

7.1 必须看清的能力边界

•单目深度估计有天花板:没有任何单目模型能在任意场景下给出精确绝对深度,尺度恢复依赖盘子这把"尺子",盘子偏离平面假设时误差会放大;

•透明 / 反光 / 高反射表面基本失效:玻璃碗、汤汁液面、果冻、亮面餐盘会让深度模型返回错误值;

•食物超出盘子时方案失效:超出部分没有盘子平面做参照,尺度恢复无锚点,必须提示重拍;

•体积 ≠ 质量 ≠ 热量:体积到质量需要密度,密度因菜而异;质量到热量需要营养数据库。最终误差是三段误差的叠加;

•不能替代临床营养评估:±20%--30% 的误差用于日常饮食记录足够,但用于糖尿病精准配餐、临床营养处方时需要称重;

•隐私与合规:食物照片虽然不像人脸那样敏感,但端侧处理仍然是更稳妥的默认选择。

7.2 常见误区

**误区一:用端到端大模型直接回归体积。**训练数据不足时模型只会"猜",而且误差无法归因、无法调优。拆成可验证的小步骤才是正路。

**误区二:忽略盘子标定。**假设所有盘子都是 26 cm,实际家用盘子从 18 cm 到 32 cm 都有,直径差 20% 直接导致体积差 20%。

**误区三:不引导拍摄角度。**用户随手拍一个倾斜 45° 的角度,边缘深度估计误差巨大。App 内的拍摄引导是 ROI 最高的优化项。

**误区四:把相对深度当绝对深度。**Depth Anything 输出的是相对值,不做尺度恢复直接用,结果毫无物理意义。

误区五:给用户精确到克的数字。"287.3 g"这种精度是误导。应该给区间("约 250--320 mL")并附置信度。

**误区六:混合菜硬算。**多种食物堆叠时深度模型分不清层次,应该提示用户分开盛或拍特写。

最后

"手机扫一眼盘子就算出吃了多少",听上去像魔法,拆开来看其实是一组朴素的几何 + 视觉问题:用盘子做锚点恢复尺度,用单目深度模型估计高度,用分割模型划定食物范围,最后积分成体积。

它不是万能的------透明食物、混合菜、倾斜拍摄都会拉低精度;它也不替代称重------±20% 的误差足够做日常记录,不够做临床配餐。但在"记录饮食太麻烦所以干脆不记"这个巨大的用户痛点面前,一个能做到 ±20% 误差、拍一张就完事的方案,比一个能做到 ±2% 误差、但必须称重的方案,对普通用户有用得多。

评估这类产品好不好用,不要问它"算得准不准",而要问三件事:

|-----------------------------------------------------------------------------------------------------------------------------------|
| * 盘子锚点是否扎实 :用户能不能方便地告诉 App 这是哪个盘子? * 拍摄引导是否到位 :App 能不能让用户一次就拍对角度和距离? * 结果是否诚实 :给的是区间和置信度,还是虚假的精确数字? |

把这三件事做扎实,技术链路再长,用户体验也是顺的;反过来,模型再大,这三件事没做好,用户也只会觉得"这 App 不准,卸了"。

相关推荐
阿里云基础软件1 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
服务器硬件项目经理1 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
前端 贾公子1 小时前
将CHATGPT/Codex 26.727.51351固定在MacOS Monterey 12上
人工智能
9i编程1 小时前
用 Codex 改代码,依据是什么?
人工智能·openai·ai编程
aixingkong9211 小时前
华为灵衢超节点参考架构白皮书深度解读
大数据·人工智能·华为
送外卖的工程师1 小时前
STM32图书馆环境监测系统(机智云)
人工智能·语音识别
tellmewhoisi1 小时前
深度学习28:PyTorch:参数更新方法(AdaGrad和RMSProp)
人工智能·pytorch·深度学习
杜哥无敌1 小时前
Obsidian Copilot V4 与 Miyo 架构解析:语义检索、向量模型配置与最佳实践
人工智能
Zhao-Jichao1 小时前
AI Prompting for Everyone 课程笔记 - 04 联网搜索资源 Web Search Sources
人工智能·笔记