傅晓云,陆 隽,李 玮,卢纯福,李 愚
(浙江工业大学 设计与建筑学院,浙江 杭州 310023)
烹饪被认为是中国社会和家庭中最常见的活动之一[1]。典型的中式烹饪大量依赖油的使用,所产生的烹饪油烟(Cooking oil fumes,COF)会危害人体健康[2-4]。同时,烹饪油烟污染一直是城市大气内源污染的重要组成,也是室内空气污染物的主要来源[5]。COF中的有害物质主要包括颗粒物(Particulate matter,PM)、多环芳烃(Polycyclic aromatic hydrocarbons,PAH)、挥发性有机化合物(Volatile organic compounds,VOCs)和碳基化合物(Carbonyl compounds)[6-7]。中式烹饪中通常会有“热油”的过程,过度加热食用油会导致PM浓度大幅度上升,增加罹患肺癌的风险[8]。与西式或日式烹饪相比,中式烹饪中PAH的总排放量最高[9],而PAH对人类具有遗传毒性和致癌性[10]。中国政府在2019年制定了《健康中国行动(2019—2030)》,将饮食健康列入健康中国国家战略的主要内容,并开始关注烹饪造成的空气污染问题。各个领域的专家学者已经充分分析了影响烹饪油烟的各个因素,包括燃料、食用油、食品成分、烹饪时间、烹饪温度、烹饪方式和通风因素等[11-12]。厉曙光等[13]对比了高温(230 ℃以上)和低温(100~140 ℃)时烹饪油烟的组成成分,并建议烹饪时将油温保持在低温(100~140 ℃)范围内,以减少VOCs及PM的生成。吴鑫等[12]建议优先使用花生油代替橄榄油,以减少菜肴中的颗粒物。然而,典型的中式烹饪极为复杂,对油、食物、温度和烹饪方式等要素的组合和使用千变万化,很难通过单一控制某一变量来实现饮食健康和味道可口的双赢。
当前,厨电行业都在探索和研发智能烹饪辅助系统,而其关键技术之一就是对烹饪行为的分析和识别。特别是在复杂的中式烹饪行为中,只有准确判断用户当前正在进行的烹饪操作,才能及时、准确地预测不当操作(如过高的油温、长时间干烧等)并予以干预,减少烹饪油烟对个人健康和公共环境带来的危害。同时,针对广大年轻群体习惯“外卖文化”,缺乏烹饪经验的现象,智能烹饪辅助系统也能帮助提升家庭烹饪的成功率,在实现健康烹饪的同时潜移默化地提升民众的身体素质。
用户行为建模可以对用户的行为偏好或目的进行一定程度的分析与预测,在生理及心理上辅助用户优化其行为过程[14]。常见的行为建模方法有3种,分别是基于图像、内容特征和行为特征的建模。基于图像的行为建模方法需根据对应领域选择相应的图像类型及技术算法,其应用广泛且类型多样,然而图像数据的采集过程复杂,需考虑采集工具及周边环境等相关影响[15];基于内容特征的建模方法多应用于社交网络领域,一般是对文本内容信息进行研究,数据采集处理的准确性较高,然而也存在效率低、复杂度高的问题[16];基于行为特征的建模方法则是通过采集与用户行为相联系的数据,进而对用户行为进行建模,其建模方法也会根据应用场景及数据类型选取相配合的算法[17]。根据用户烹饪场景的特征以及数据采集的可行性,本研究采用基于行为特征的用户行为建模方法。
基于用户行为的特征数据种类多样,大致可分为直接数据和间接数据两种:直接数据为直接反映用户行为的特征数据,多为生理相关的检测数据;间接数据则为受用户行为间接影响的第三方数据。
基于直接数据的行为建模多是通过检测由用户行为引发的生理特征变化,判断或预测用户行为的发生。乔建刚等[18]利用傅里叶变换的方法转化采集到的心率随机信号,以研究并构建驾驶员的疲劳预测模型;李祥春等[19]通过采集皮温、皮电、呼吸和脉搏等生理指标,研究人在冒险行为发生时的生理参数变化;祝荣欣等[20]通过采集心电及颈部、腰部的表面肌电数据,建立联合收割机驾驶人的疲劳状态识别模型;季璐等[21]利用眼动仪检测注视时间、注视点数、扫视时间和扫描路径等眼动数据,总结用户浏览信息时的行为特征。这种方式需考虑不同用户群体的特征,以及外界多种环境变量对生理数据采集可能造成的干扰,需通过大量实验数据验证其可行性。
基于间接数据的行为建模则通过检测与用户行为存在间接联系的第三方数据来研究用户行为。贾硕等[22]曾提出商用车辆异常驾驶行为检测算法,通过采集商用车辆行驶过程中的相关数据有效识别商用车辆异常驾驶行为;许洪军等[23]曾提出一种云用户的异常检测方法,通过卷积神经网络对检测到的鼠标操作行为轨迹数据进行特征学习及分类,对云用户进行异常行为检测;王毅等[24]提出通过采集用户的用电数据来分析用户用电行为,进而分析用户的用电模式。其中检测的第三方数据便是联系用户行为特征的一种客观记录。
上述两种方法在实际应用中均会面临数据采集困难及对算力要求高的问题,数据根据相应的采集对象有相应的采集工具、环境要求;而与采集数据相适应的算法、模型,例如神经网络[25]、LSTM和支持向量机多分类算法等都对算力及成本有一定的要求,其中一些算法的应用条件也较为苛刻,难以在大众领域普及。
用户烹饪行为的复杂程度较高,因此在采集肌电、心率或其他生理特征等直接数据时会面临采集标准高、环境影响因素多以及个体差异巨大等问题,且在未来的研发中很难控制成本,难以达到产业化的期望。因此,笔者选择采集简单、度量标准单一的间接数据作为用户行为建模的采集对象。而单一数据对算力要求低,易于控制成本,更适合民用发展。在烹饪过程中可选择的间接数据主要有图像识别和锅内温度等,其中锅温数值的采集较为方便,环境干扰因素较少,测出值也较为准确,且锅温会随用户烹饪行为的变化而产生一系列的变化,具有一定的代表性。因此,笔者提出基于锅温检测数据集的用户烹饪行为建模方法,该方法分为3个阶段实施:1) 提取各个烹饪子行为对应的锅温变化数据,在烹饪过程中采集锅内温度变化数据,依据专家对用户烹饪过程的行为分段,将各个子行为对应的锅内温度变化数据隔离;2) 对隔离后的数据进行对比分析,此部分主要有两个目的,其一是分析各行为对应的锅内温度数据变化是否具有规律性,其二是明确适用于各行为对应锅内温度数据的相关参数计算;3) 从各行为时间段内对应的锅温数据中明确特征参数,并以此建模。期望通过用户烹饪行为模型的建立,为用户烹饪辅助设计研究提供一定的理论指导。
依照上述建模方法,在实验中记录被测对象烹饪过程中的全部行为,并采集对应的锅温数值,分析比较不同行为时间段内锅温的数值变化与被测对象的烹饪行为是否存在联系,探寻不同行为时间段内的锅温数据是否存在关键性规律或特征,以建立用户烹饪行为模型。在回测实验中,通过建立的模型还原用户行为,对模型的科学合理性进行验证。考虑到“炒”为烹饪中最基本、最常用的技法,且“炒”的行为又相对复杂,因此笔者对用户的炒菜行为进行建模,过程如下:首先用红外测温探头采集被测者炒菜过程中对应的温度变化数据;然后通过专家评价法对炒菜过程进行分段;最后整理归纳各炒菜行为段内温度数据中的特征参数并建模。
为确保实验结果的普适性,召集5名年龄在30岁以上且具有5年以上做菜经历的被测对象,其中男性2名、女性3名。实验选择的菜肴为香菇青菜与宫保鸡丁,这两道菜广为人知,大众对其食材、做法和口味的认知相近。使用苏泊尔品牌燃气灶、沂蒙铁匠品牌无耳炒锅及GY-906-DCI型号测温探头模块与MLX90614-DCI型号芯片组成的红外温度传感器。具体实验流程包括以下4个部分:1) 被测对象依次在同一室内场所烧制2道固定菜肴,由摄像头全程拍摄,同时距离锅底50 cm的红外测温传感器以每秒采样2次的频率实时采集锅温数据,实验示意图见图1;2) 根据专家评价法结合实验视频资料对烹饪过程进行行为分段;3) 根据行为段截取相应锅温数据,并绘制各子行为对应的锅温数据曲线图,通过计算相似度进行对比分析;4) 归纳分析各子行为对应的锅温数据记录,明确各个行为时间段内温度数据的特征参数。
图1 实验示意图Fig.1 Schematic diagram of the experiment
烹饪实验在同一室内场所进行,5名被测对象依次炒制了香菇青菜与宫保鸡丁两道菜肴,实验过程如图2所示。实验中测温探头采集的温度变化数据如表1所示。为使烹饪过程中的温度变化情况更加直观,绘制了两道菜的温度数据曲线图,结果如图3,4所示。
图2 实验过程Fig.2 Experimental process
表1 测温数据记录表(部分)Table 1 Temperature testing data record table (partial)
图3 香菇青菜烹饪温度数据Fig.3 Cooking temperature data of cooking shiitake mushrooms and bok choy
图4 宫保鸡丁烹饪温度数据Fig.4 Cooking temperature data of cooking Kung Pao chicken
由于不同被测对象的烹饪步骤及同一步骤的用时存在差异,图3,4烹饪温度曲线不够直观。因此,通过专家评价法对烹饪过程进行行为分段,进一步分析烹饪行为。选择具有饭店或餐馆工作经验的3名专家对实验影像进行观察,并对被测对象的烹饪子行为进行分段。经过比对分析发现:3名专家对烹饪行为的时间分段基本吻合,误差不超过1 s。行为时间分段图如图5,6所示,可见在烹饪过程中各子行为过程是清晰可分解的。在炒菜过程中,子行为可归纳为热锅、热油、放菜、翻炒、放调料和加水6类。各行为段温度曲线如图7所示。
图5 行为时间分段图(香菇青菜)Fig.5 Behavior time segmentation diagram (cooking shiitake mushrooms and bok choy)
图6 行为时间分段图(宫保鸡丁)Fig.6 Behavior time segmentation diagram (cooking Kung Pao chicken)
图7 各行为段温度数据Fig.7 Temperature data of each behavior segment
2.3.1 温度数据曲线相似度计算
寻找同一烹饪子行为中锅温数据变化的关键参数,其前提是不同被测对象的各个子行为段温度变化曲线存在相似性。引入余弦相似度[26]对5位被测对象各行为段的温度曲线进行相似度计算,其计算式为
(1)
式中:Ai,Bi分别为相比较的两个向量。通过计算能得出-1~1的相似性范围:-1表示两个向量完全相反;1表示两者完全相同;0表示两者互相独立;之间的值则表示两者的相似性。
曲线相似度计算结果如表2所示。由表2可知:每个行为段内的数据曲线的平均相似度均在0.60以上,其中翻炒行为段较易受用户动作影响,但也具有0.58的平均相似度,证明同一行为段内的温度数据曲线具有一定相似性,有规律可循。因此可以通过锅温数据变化的关键参数区分各个烹饪子行为。
表2 各行为段内温度数据曲线的相似度计算结果Table 2 Curve similarity calculation of each behavior segment
2.3.2 各烹饪子行为特征参数分析
通过对以上数据的分析整理,对各子行为对应温度数据进行相关参数的计算分析,探寻不同烹饪子行为对应温度的变化规律,归纳整理各子行为特征参数及预警指标。因一定时间内的温度数据与体压分布数据性质较为类似,故参考体压分布的相关参数指标[27]对本实验中采集到的温度数据进行计算。
1) 峰值温度Cmax为该行为时间段内所有温度值的最大值,即
Cmax=max(C1,C2,…,Cn)
(2)
式中n为温度采集的次数。峰值温度代表了一个时间段内测点接触到的最高温度,在烹饪过程中被测对象的烹饪行为、时间及火候等都会对峰值温度产生影响。
2) 最低温度Cmin为该行为时间段内所有温度值的最小值,即
Cmin=min(C1,C2,…,Cn)
(3)
式中n为温度采集的次数。最低温度代表了一个时间段内测点接触到的最低温度,在烹饪过程中被测对象的烹饪行为、手法动作都会对测点检测到的温度产生影响。
3) 平均温度Cv为该行为时间段内所有温度值的算术平均值,即
(4)
式中:n为温度采集的次数;Ci为每次采集的温度值。平均温度代表了一个时间段内测点检测到的所有温度值的整体集中趋势,反映了该时间段内的整体温度水平。
4) 对根据相应的行为时间段内温度数值制成的曲线图进行趋势线绘制,并计算温度趋势线斜率K。曲线图中以时间及温度为轴,其斜率为
(5)
温度趋势线斜率代表这个时间段内测点检测到的温度的变化趋势,Kj>0则该时间段内温度呈上升趋势,Kj<0则该时间段内温度呈下降趋势,Kj的值也代表了温度变化的速度,受被测对象的行为动作影响。
5) 温度频率f为该行为时间段内单位时间内温度上下变化的次数,即
MC=median(C1,C2,…,Cn)
(6)
MA=median(|A1-MC|,|A2-MC|,…,|Am-MC|)
(7)
(8)
式中:MC为该时间段内温度数据的中值;Am为该时间段内数据曲线的每个波峰和波谷的值;MA则为以MC为平衡位置的所有波峰和波谷的振幅中值。温度频率代表该时间段内温度上下波动的频率,本研究中f代表振幅在中值MA以上的温度波动变化频率,与被测对象的行为动作紧密相关。
6) 温度梯度是该行为时间段内随时间变化的温度变化率,即
(9)
其中最大温度梯度与平均温度梯度也被认为是重要指标之一。最大温度梯度Gmax为
Gmax=max(|G1|,|G2|,…,|Gi|)
(10)
最大温度梯度代表该时间段内温度变化最快的时间点的变化速度,同样会受被测对象的行为动作影响。平均温度梯度Gv为
(11)
式中N为温度梯度数据的个数。平均温度梯度是所有时间点温度梯度的算术平均值,代表这个时间段内温度变化率的平均水平。
5位被测对象各子行为温度数据的相关参数计算结果如表3~8所示。
表3 温度数据相关参数计算(热锅)Table 3 Calculation of temperature data-related parameters (heat the pot)
表4 温度数据相关参数计算(热油)Table 4 Calculation of relevant parameters of temperature data (heat the oil)
表5 温度数据相关参数计算(放菜)Table 5 Calculation of relevant parameters of temperature data (add ingredients)
表6 温度数据相关参数计算(翻炒)Table 6 Calculation of relevant parameters of temperature data (stir-fry)
表7 温度数据相关参数计算(放调料)Table 7 Calculation of relevant parameters of temperature data (add seasoning)
表8 温度数据相关参数计算(加水)Table 8 Calculation of relevant parameters of temperature data (add water)
2.3.3 各烹饪行为段特征参数分析
如要选取特征参数来分离某一行为,则该子行为的数据在某参数下与其他子行为相比具有特异性。对各子行为数据的相关参数计算结果中值进行箱图绘制,绘制结果如图8所示。由图8可知:参数Cmin的热锅及热油行为段的数据存在明显特异性。
图8 各行为段参数中值箱图Fig.8 Box plot of median values of parameters for each behavior segment
进一步对各子行为相关参数数据组的中值进行特异性分析,采用标准分数进行计算,标准分数计算式为
(12)
式中:AM为该参数所有子行为数据中值的平均值;
Mi为需要计算标准分数的目标数据;σ为该参数所有子行为数据中值的标准差;Zi为目标数据Mi与AM距离,数值的绝对值越大则代表其特异性越大,更适合作为特征参数。各行为段相关参数标准分数计算结果如表9所示。
表9 各行为段相关参数标准分数计算结果Table 9 Calculation results of standard scores of parameters related to each behavior segment
选取标准参数绝对值>1的参数为特征参数,各子行为对应的特征参数列举如表10所示,特征参数根据标准分数绝对值从大到小排列。因各子行为最大温度梯度Gmax的数值范围普遍较广,其中值的标准分数不具有代表性,故不考虑其为特征参数。
表10 各行为段特征参数Table 10 Characteristic parameters of each behavior segment
热油与热锅行为段内的温度数据变化走向较为类似,均呈稳步上升趋势,然而两者的关键参数数值存在一定差异。热锅阶段的最低温度Cmin主要为27.89~66.19 ℃,热油阶段则为80.01~138.97 ℃。此外,热锅阶段的趋势线斜率K基本为2.01~2.57,平均温度梯度Gv基本为3.64~6.98 ℃/s;热油阶段的平均温度Cv主要为157.29~187.39 ℃,峰值温度Cmax基本超过180.00 ℃。
放菜行为段内的温度数据主要呈下降趋势。趋势线斜率K大部分为-8.99~0,其平均温度梯度Gv的数值范围跨度较大,大部分数据为-22.08~0 ℃/s。
翻炒行为段内的温度数据则存在剧烈波动,然而整体趋势稳定。温度频率f主要为0.09~0.40 s-1,温度变化趋势线斜率K为-2.15~1.43。
放调料和加水行为段的各相关参数都较为相似。放调料阶段峰值温度Cmax参数主要为83.57~154.77 ℃,而加水阶段主要为62.45~146.45 ℃。放调料阶段平均温度Cv参数主要为74.13~85.32 ℃,而加水阶段主要为61.44~94.89 ℃。目前,尚无明确的关键参数可用来区分放调料和加水两个行为段。
在以上数据分析计算的基础上,笔者设计了一款辅助烹饪原型系统进行回测实验,以验证烹饪行为模型的科学合理性。原型系统具有温度检测功能,能对锅内温度进行采样。同时,软件代码中结合了笔者建立的烹饪行为模型,能自主计算特征参数,从而判断并划分烹饪阶段。
选择3名被测对象进行回测实验,被测对象分别炒制香菇青菜和宫保鸡丁。原型系统同样以每秒2次的频率对锅内温度进行采样。同样通过专家评价法对3名被测对象的烹饪行为进行行为段划分,对比系统根据温度采样数据自主判断并划分的分段结果基本一致,结果如图9,10所示。
图9 专家与系统对行为段划分对比(香菇青菜)Fig.9 Comparison between experts and systems about behavior time segmentation diagram (cooking shiitake mushrooms and bok choy)
图10 专家与系统对行为段划分对比(宫保鸡丁)Fig.10 Comparison between experts and systems about behavior time segmentation diagram (cooking Kung Pao chicken)
原型系统在后台自动分析计算每个子行为对应的温度数据特征参数。整理系统输出的计算结果,并与先前实验中得出的特征参数范围进行对比,绘制数值分布图,结果如图11所示。排除个别案例产生的特异值,整理可知:热锅阶段的最低温度Cmin主要为40.69~66.23 ℃,趋势线斜率K主要为2.10~2.95,其平均温度梯度Gv基本为3.90~5.94 ℃/s。热油阶段的Cmin基本为72.25~167.57 ℃,平均温度Cv大部分都为168.25~208.10 ℃,峰值温度Cmax基本超过180.00 ℃。放菜阶段的趋势线斜率K基本为-2.00~-0.11,存在一例数值较小为-8.74,其平均温度梯度Gv大部分为-7.78~-0.15 ℃/s。翻炒阶段的温度频率f主要为0.13~0.30 s-1,趋势线斜率K也主要为-0.06~0.78。放调料及加水阶段的峰值温度Cmax主要为85.45~134.29 ℃,平均温度Cv为64.69~108.57 ℃。上述结果表明:回测实验中各子行为温度数据的特征参数基本落在笔者建立的用户烹饪行为模型内。
图11 回测实验数据结果Fig.11 Results of retesting experimental data
回测实验验证了通过温度变化曲线和特征参数还原用户烹饪行为的方法是科学合理的。在此基础上可以进一步设计开发具有智能烹饪辅助功能的灶具。以炒菜这一烹饪行为为例,假设用户在烹饪前将玉米油设置为烹饪油,则系统会自动根据玉米油的烟点(230 ℃以上)设置烟点阈值。烹饪开始后,系统以一定的频率对锅内温度进行采样,并分析计算温度变化的趋势线斜率,结合最低温度、平均温度和峰值温度等特征参数,可以较为准确地识别出用户正在进行的具体烹调阶段,一旦在对应阶段出现不符合特征参数的现象,如锅内温度的峰值数据在热锅阶段超过了185 ℃,在热油、放菜和翻炒阶段超过了230 ℃,在放调料或加水阶段超过了150 ℃,就可对用户进行预警,提示温度过高并自动调整灶具火力。通过这样的辅助形式,可以有针对性地识别不同烹饪阶段的不当操作并及时干预,减少烹饪过程中有害物质的产生,进而达到健康烹饪和健康饮食的目的。
基于烹饪过程中的锅内温度变化进行用户烹饪行为建模,通过对烹饪温度数据的采集,结合对实验中炒菜这一烹饪行为的划分及各子行为对应温度数据的参数计算分析,得到各行为段的特征参数,可见烹饪过程中的各子行为温度变化具有潜在规律。样机回测实验也验证了该用户烹饪行为模型的科学合理性。建立的烹饪行为模型可以在用户烹饪时实时监测烹饪过程,识别当前进行的烹饪行为,并及时提供风险预警,是未来设计智能烹饪辅助系统的基础。此外,本研究也证实了可以通过识别单一变化的数据来识别特征参数,并可以作为复杂行为中子行为的识别依据。