使用有监督模型对火候等级进行定量分析的方法
在编写新的菜谱时,我发现对于需要精确控制火候的菜肴,燃气炉具的火力难以用量化的方式表达:
将炉灶打开高火,同时锅中加入橄榄油,热锅 15-30秒。 将炉灶切换至中火,随后按顺序快速加入黄油 ...
我阅读了以下的issue: https://github.com/Anduin2017/HowToCook/issues/933 https://github.com/Anduin2017/HowToCook/issues/303 https://github.com/Anduin2017/HowToCook/issues/300 https://github.com/Anduin2017/HowToCook/issues/129
发现这似乎是一个长久的、没有被彻底解决的问题。我认为如果要将整个烹饪过程自动化,对于火候的量化是必须的。因此我在我的菜谱中加入了简易的火力参考标准:
- 对于燃气灶:
- 高火:旋转气阀至最大出气速度的 70%-90%。
- 中火:旋转气阀至最大出气速度的 40%-60%。
- 小火:旋转气阀至最大出气速度的 10%-30%。
电磁炉等电力烹饪厨具可以用温度和功率方便的判断火力,而燃气炉具则不同。正如 https://github.com/Anduin2017/HowToCook/issues/303 中提到,使用阀门旋转角来判断火力大小是不够严谨的。这是由于燃气灶、水龙头这类日常使用的阀门,通常属于非线性控制阀。对于大多数阀门系统,流量 $Q \propto \sqrt{\Delta P} \cdot A$, ( $\Delta P$ :压差, $A$:开口面积)
所以即使开口面积线性变化,流量依旧是非线性变化的。
我暂时想到了几个非接触式的定量分析燃气炉具火力的方案:
红外传感器测量
这是我能想到的最直观的办法,因为温度和热辐射成正比。
- 测量热辐射功率密度(单位:W/m²),归一化为百分比:火力百分比 = $\frac{E}{E_{\text{max}}} \times 100%$, $E$ 表示当前热辐射值, $E_{\text{max}}$ 表示最大热辐射基准值。
- 阈值划分(在校准后动态调整), 高火70%~100%, 中火30%~70%,小火:0%~30%
- 热辐射值扣除环境温度影响(如减去25°C室温对应的黑体辐射)
火焰光谱分析
高火时火焰呈蓝色(波长450-495nm),小火时黄色(570-590nm)增多。通过视觉方案分析火焰颜色来判断温度
- 用RGB传感器或摄像头,计算蓝色通道占比: $$\text{蓝色比}=\frac{B}{R+G+B}\times100%$$
- 阈值:高火:蓝色比 > 60%,中火:40%~60%,小火:< 40%
温度变化率
锅底温度上升速率与火力正相关,和第一个方案有点类似。
- 监测锅底温度(热电偶或红外测温),计算斜率: $$\Delta T/\Delta t=\frac{T_{t+1}-T_t}{\text{时间间隔}}$$
- 阈值(以水加热为例):高火:> 3°C/s, 中火:1~3°C/s, 小火:< 1°C/s
算法部分,应该要先校准:
- 高火校准:开最大火力,记录热辐射强度(设为基准值)、蓝色比、温度变化率。
- 小火校准:开最小稳定火焰,记录对应参数。
- 中火插值:通过线性或非线性模型生成中间阈值。
随后把数据应用到动态自适应模型:
- 使用机器学习如随机森林等算法对传感器数据(热辐射、光谱、温度变化率)进行融合。
- 模型输入:归一化后的传感器数据。
- 输出:火力状态概率分布,选最高概率作为结果。
例如,如果要在煮鸡蛋时判断火力:
- 传感器数据:
- 热辐射: $1200 W/m^2$(基准最大值为 $1500 W/m^2$ -> 80%)
- 蓝色比:65%
- 温度变化率:2.8°C/s
- 综合判断:
- 热辐射80% → 高火区间
- 蓝色比65% → 高火特征
- 温度变化率接近中火上限
- 结论:高火状态(置信度>90%)。
以上方案仅作抛砖引玉之用,但难点还是在于硬件怎么搭配,希望能有大佬把方案落地 :D
(真正的大佬做个饭都能写论文……
非常感谢大佬drive这个问题。确实这是过去一直以来都没解决的问题,主要是一方面大部分厨师在编写菜谱的时候对于火候的描述本身就非常模糊,而不同的厨具对于火候的把握技巧也截然不同。
不过我很喜欢你的动态自适应模型。如果能够给出一套比较通用的标准化的火候校准方法,例如什么情况下可以判定高火中火低火,这样具体菜谱其实就不太需要过多变化了。
现有的燃气阀控制大多是向下按电打火,逆时针控制燃气,有附属的机器空气配件进行改造么?
AI燃气灶,接入deepseek... 选择想吃的菜自动化选择最适合的火力
(真正的大佬做个饭都能写论文……
非常感谢大佬drive这个问题。确实这是过去一直以来都没解决的问题,主要是一方面大部分厨师在编写菜谱的时候对于火候的描述本身就非常模糊,而不同的厨具对于火候的把握技巧也截然不同。
不过我很喜欢你的动态自适应模型。如果能够给出一套比较通用的标准化的火候校准方法,例如什么情况下可以判定高火中火低火,这样具体菜谱其实就不太需要过多变化了。
非常感谢作者的认真回复和认可!(不敢当不敢当,真的只是在折腾些小方案🤣)
确实正如你说的,大多数厨师在实际烹饪过程中往往依赖经验和感觉来判断火候,因此要建立统一的标准确实难度不小。这令我之前在尝试一些需要精确控制火力的菜谱(比如油爆大虾、火爆肥肠、十八秒猪肝等)时屡次失败。而且,不同炉具(甚至不同品牌)的火力曲线可能都会有所差异,这也是量化火候的挑战之一。
我目前的初步想法是提供一套简单、非侵入式的装置,方便集成到一个小型的嵌入式系统内,并设计一个校准程序,这样用户就能在首次使用时快速进行一次性校准。校准完成后,菜谱中的火候描述就可以统一到这套动态自适应标准上,从而避免用户每次烹饪时都需要重新适应不同炉具带来的差异。更长远的想,这个系统可以集成到燃气炉具或者油烟机上,做到智能烹饪。
目前的方案离落地还有很远距离,我对这个问题进行了进一步调查,如你所说,实际需要考虑的变量确实很多。
- 例如,烧水、煮汤或者加热比热容较大的食物时,锅底的温度变化曲线最后会收敛于水的沸点附近,这可能使得利用锅底温度变化率的测量方式失效。
- 再比如,厨房在白天和夜晚的光照条件,甚至环境中的风也会改变火焰颜色,干扰判断。
- 因此,目前我认为最准确的测量方式仍然是直接得到火焰作用于锅上的加热功率P。但是实际上,要准确测得这个值比较困难。不同于电磁炉,火焰的热辐射和热衰减,是否完全燃烧等,都会造成影响。
如果有时间的话我可能会尝试一下原型开发,测试一下实际效果。也希望后续能得到作者和社区各位大佬的宝贵建议。
现有的燃气阀控制大多是向下按电打火,逆时针控制燃气,有附属的机器空气配件进行改造么?
感谢回复,这个问题其实很好,因为它是我在想到目前这个方案前第一个出现在我的脑中的。通过燃气流量来对火力进行控制显然是最直接的做法,但由于非线性阀门的缘故,燃气流量很难控制。如此一来就需要对燃气管线进行改装,加装线性控制阀和流量计。
不幸的是,在我查阅资料后,私自改装燃气管线是违法的。
因此我认为根目前的方案相比而言,这是一个高成本也不值得实现的方案。
如果你指的是利用外部机械装置(比如机械臂)来精确控制阀门的旋转角,这也是比较难实现的:
- 控制信号(如旋转角度、拉杆位移)与实际流量之间不是线性关系。且每个阀门与流量的函数表达式都不同,需要针对每个阀门单独校准。
- 小角度开度变化,可能导致流量剧烈变化,尤其在低开度时尤为明显。
- 在高开度时,调节流量的灵敏度反而降低。