WO2022077348A1 - 食物体积、热量计算方法、电子装置、电子设备和存储介质 - Google Patents
食物体积、热量计算方法、电子装置、电子设备和存储介质 Download PDFInfo
- Publication number
- WO2022077348A1 WO2022077348A1 PCT/CN2020/121175 CN2020121175W WO2022077348A1 WO 2022077348 A1 WO2022077348 A1 WO 2022077348A1 CN 2020121175 W CN2020121175 W CN 2020121175W WO 2022077348 A1 WO2022077348 A1 WO 2022077348A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- food
- estimated
- area
- image
- reference object
- Prior art date
Links
- 235000013305 food Nutrition 0.000 title claims abstract description 823
- 238000004364 calculation method Methods 0.000 title claims abstract description 161
- 238000000034 method Methods 0.000 claims description 84
- 238000013507 mapping Methods 0.000 claims description 46
- 239000000284 extract Substances 0.000 claims description 26
- 238000013136 deep learning model Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 11
- 210000000707 wrist Anatomy 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 210000004247 hand Anatomy 0.000 description 4
- 241000220225 Malus Species 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 235000005911 diet Nutrition 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010020772 Hypertension Diseases 0.000 description 1
- 208000008589 Obesity Diseases 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 235000019577 caloric intake Nutrition 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 230000000378 dietary effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000036449 good health Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 150000002632 lipids Chemical class 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 235000020824 obesity Nutrition 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/60—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/63—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30128—Food products
Abstract
一种食物体积、热量计算方法、电子设备、电子装置和存储介质。该食物体积计算方法包括:获取立体参考物的实际尺寸信息;获取与立体参考物和待估算食物相应的参考图像和食物图像;根据立体参考物的实际尺寸信息、基于参考图像获取的参考区域尺寸信息以及基于食物图像获取的食物区域尺寸信息,获得待估算食物的体积信息。该食物体积计算方法降低了操作的复杂度,增强了应用的灵活性。
Description
本公开的实施例涉及一种食物体积、热量计算方法、电子装置、电子设备和存储介质。
随着经济发展,目前城乡居民的膳食水平得到了显著提高,但也因此导致大量人群出现肥胖、高血压、高血脂等情况,对健康产生负面影响;此外,成长期青少年、孕期妇女、减肥健身人士以及普通人群都需要对日常饮食做好管理,以达到身体健康的目的。对于这类人群,需要对摄入的食物热量进行估算,而食物热量估算的关键是食物体积估算。
发明内容
本公开至少一实施例提供一种食物体积计算方法,包括:获取立体参考物的实际尺寸信息;获取与所述立体参考物和待估算食物相应的参考图像和食物图像;根据所述立体参考物的实际尺寸信息、基于所述参考图像获取的参考区域尺寸信息以及基于所述食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,获取所述立体参考物与所述待估算食物以同一种拍摄方式获取的一幅参考图像和一幅食物图像,其中,根据所述立体参考物的实际尺寸信息、基于所述一幅参考图像获取的参考区域尺寸信息以及基于所述一幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息;或者获取所述立体参考物与所述待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像,其中,根据所述立体参考物的实际尺寸信息、基于所述多幅参考图像获取的参考区域尺寸信息以及基于所述多幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息;其中,所述同一种拍摄方式或者所述多种拍摄方式中的每个至少包括拍摄距离和拍摄方向。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述多种拍摄方式包括第一拍摄方式和第二拍摄方式,所述第一拍摄方式的拍摄方向和所述第二拍摄方式的拍摄方向彼此交叉;所述多幅参考图像包括分别使用所述第一拍摄方式和所述第二拍摄方式获取的第一参考图像和第二参考图像;所述多幅食物图像包括分别使用所述第一拍摄方式和所述第二拍摄方式获取的第一食物图像和第二食物图像。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述多种拍摄方式中的每个还包括放置作为被拍摄对象的所述立体参考物或所述待估算食物的支撑面,所述第一拍摄方式的拍摄方向和所述第二拍摄方式的拍摄方向彼此垂直,并且所述第一拍摄方 式的拍摄方向垂直于所述第一拍摄方式的支撑面,所述第二拍摄方式的拍摄方向平行于所述第二拍摄方式的支撑面。
例如,在本公开至少一实施例提供的食物体积计算方法中,以同一种拍摄方式相应地成对获取的参考图像与食物图像为彼此相应的一对图像,或者以同一种拍摄方式相应地成对获取的参考图像与食物图像属于同一幅图像的组成部分。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述获取立体参考物的实际尺寸信息,包括:获取所述立体参考物与可获取参考尺寸的第一参考物并列的多幅立体参考物图像,根据所述多幅立体参考物图像以及所述参考尺寸获取所述立体参考物的实际尺寸信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述根据所述多幅立体参考物图像以及所述参考尺寸获取所述立体参考物的实际尺寸信息,包括:对于每一幅所述立体参考图像,获取在所述立体参考物图像中所述参考尺寸对应的第一像素数量,获取在所述立体参考物图像中所述立体参考物的至少一个维度上的第二像素数量,根据所述第一像素数量和所述第二像素数量,获得在所述立体参考物图像中所述立体参考物在所述至少一个维度上的计算尺寸,基于从所述多幅立体参考物图像获取的多个计算尺寸获取所述立体参考物的实际尺寸信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述获取立体参考物的实际尺寸信息,包括:获取所述立体参考物放置于可计算参考面积的第二参考物一侧的立体参考物图像;根据所述立体参考物图像以及所述参考面积获取所述立体参考物的实际尺寸信息,其中,所述立体参考物图像包括所述第二参考物中用于计算参考面积的信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述根据所述立体参考物图像以及所述参考面积获取所述立体参考物的实际尺寸信息,包括:获取所述立体参考物图像中所述第二参考物的像素面积;基于所述第二参考物的像素面积以及所述参考面积,得到第一映射比例;获取所述立体参考物图像中的立体参考物所占据的区域的像素面积;根据所述第一映射比例及所述立体参考物所占据的区域的像素面积,获取所述立体参考物的体积,以得到所述立体参考物的实际尺寸信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述立体参考物图像中对应于所述第二参考物的像素点的像素值在第一值范围内,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,包括:将所述立体参考物图像中像素点的像素值为不满足所述第一值范围的像素点作为立体参考物所占据的区域,以获取所述立体参考物所占据的区域的像素面积;或者,根据深度学习模型提取所述立体参考物所占据的区域,获取所述立体参考物所占据的区域的像素面积。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述获取所述立体参考物图像中所述第二参考物的像素面积,包括:获取所述立体参考物图像中所述第二参考物的最小外接矩形以及所述最小外接矩形的像素面积,将所述最小外接矩形的像素面积 作为所述第二参考物的像素面积,其中,所述立体参考物图像中对应于所述第二参考物的像素点的像素值在第一值范围内,所述第二参考物的最小外接矩形根据所述像素值在所述第一值范围内的像素点的位置获取,并且,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,还包括:将所述最小外接矩形中像素点的像素值为不满足所述第一值范围的像素点作为所述立体参考物所占据的区域,以获取所述立体参考物所占据的区域的像素面积。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述第二参考物为具有标准尺寸的单色纸张。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述立体参考物包括在握拳状态下的手部且以球形的方式处理,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,包括:响应于所述立体参考物图像中所述手部中的手腕部分未抵在所述第二参考物的边缘,根据手部检测模型获取手部握拳图像,提取所述手部握拳图像中的握拳区域,获取所述握拳区域的像素面积,以作为所述立体参考物所占据的区域的像素面积;以及响应于所述立体参考物图像中所述手部中的手腕部分抵在所述第二参考物的边缘,将所述立体参考物图像中像素点的像素值为不满足所述第一值范围的像素点作为握拳区域,获取所述握拳区域的像素面积,以作为所述立体参考物所占据的区域的像素面积。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述获取与立体参考物与待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像,包括:连续拍摄所述待估算食物和所述立体参考物同时位于同一支撑面的多幅图像,提取所述多幅图像中的多幅关键图像,以得到所述多幅参考图像和所述多幅食物图像,其中,所述关键图像包括相应的一对参考图像和食物图像。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述连续拍摄所述待估算食物和所述立体参考物同时位于同一支撑面的多幅图像,提取所述多幅图像中的多幅关键图像,包括:针对多幅图像中的每幅图像,提取所述待估算食物所占据的待估算食物区域,获取所述每幅图像对应的待估算食物区域的像素面积;根据所述每幅图像对应的待估算食物区域的像素面积,提取所述多幅图像中所述待估算食物区域的像素面积的相对变化大于预设阈值的图像,作为所述多幅关键图像之一,其中,所述多幅关键图像至少包括第一关键图像和第二关键图像,所述第一关键图像包括所述第一食物图像和所述第一参考图像,所述第二关键图像包括所述第二食物图像和所述第二参考图像。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述根据所述立体参考物的实际尺寸信息、基于所述参考图像获取的参考区域尺寸信息以及基于所述食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息,包括:获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息;根据所述立体参考物的参考区域尺寸信息以及所述立体参考物的实际尺寸信息,得到第二映射比例;针对所述第一食物图像,提取所述待估算食物所占据 的待估算食物区域,得到所述食物区域尺寸信息;根据所述食物区域尺寸信息以及所述第二映射比例,得到食物尺寸信息;针对所述多幅食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述多幅食物图像中每幅图像对应的待估算食物区域确定所述待估算食物的容器形状;根据所述待估算食物的容器形状以及所述食物尺寸信息,获得所述待估算食物的体积信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述根据所述立体参考物的实际尺寸信息、基于所述多幅参考图像获取的参考区域尺寸信息以及基于所述多幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息,还包括:针对所述第二食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述待估算食物区域以及所述第二映射比例,确定所述待估算食物的高度值;并且根据所述待估算食物的容器形状、所述待估算食物的高度值以及所述食物尺寸信息,获得所述待估算食物的体积信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述根据所述待估算食物区域以及所述第二映射比例,确定所述待估算食物的高度值,包括:获取所述待估算食物区域中,每一列像素点对应的像素个数;根据所述每一列像素点对应的像素个数,确定所述待估算食物的高度分量;根据所述高度分量以及所述第二映射比例,确定所述待估算食物的高度值。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息,包括:对所述每幅参考图像根据深度学习模型提取所述立体参考物所占据的区域,获取所述每幅参考图像对应的立体参考物所占据的区域的像素面积;对全部获取的所述立体参考物所占据的区域的像素面积计算平均值,以得到所述立体参考物的参考区域尺寸信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述立体参考物包括握拳状态下的手部,所述获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息,包括:针对所述每幅参考图像,根据手部检测模型获取手部握拳图像,提取所述手部握拳图像中的握拳区域,获取所述握拳区域的像素面积;对全部获取的所述握拳区域的像素面积计算平均值,以得到所述立体参考物的参考区域尺寸信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述针对所述多幅食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述多幅食物图像中每幅图像对应的待估算食物区域确定所述待估算食物的容器形状,包括:提取所述多幅食物图像中与标准容器集合中第q个标准容器所对应方向相同的图像,以得到对应于所述第q个标准容器的至少一个待估算容器图像,针对每个所述待估算容器图像,提取所述待估算食物所占据的待估算食物区域;分别计算所述待估算容器图像的待估算食物区域与对应方向的所述第q个标准容器的形状边缘的欧式距离,以得到至少一个欧式距离值;将 所述第q个标准容器的全部方向对应的欧式距离值叠加预设每个方向对应的权重值求和,以得到对应于所述第q个标准容器的欧式距离和值;检测对应于标准容器集合的欧式距离和值集合中的最小值,将所述最小值对应的标准容器作为所述待估算食物的容器形状,其中,所述q为正整数。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述待估算食物放置于容器中,获取所述待估算食物的已知的容器形状或者根据所述一幅食物图像确定所述待估算食物的容器形状,所述根据所述立体参考物的实际尺寸信息、基于所述参考图像获取的参考区域尺寸信息以及基于所述食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息,包括:获取所述一幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息;根据所述立体参考物的参考区域尺寸信息以及所述立体参考物的实际尺寸信息,得到第二映射比例;针对所述一幅食物图像,提取所述待估算食物所占据的待估算食物区域,得到所述食物区域尺寸信息;根据所述食物区域尺寸信息以及所述第二映射比例,得到食物尺寸信息;根据所述待估算食物的容器形状以及所述食物尺寸信息,获得所述待估算食物的体积信息。
例如,在本公开至少一实施例提供的食物体积计算方法中,所述确定所述待估算食物的容器形状,包括:基于深度学习模型获取标准容器识别模型,根据所述多幅食物图像以及所述标准容器识别模型,确定所述待估算食物的容器形状;或者获取标准容器识别模型,根据所述一幅食物图像以及所述标准容器识别模型,确定所述待估算食物的容器形状。
例如,在本公开至少一实施例提供的食物体积计算方法中,对于包括所述待估算食物的待处理图像,所述提取所述待估算食物所占据的待估算食物区域,包括:将所述待处理图像划分为多个区域集,对每个所述区域集进行相似度计算,以获取每个所述区域集的相似度值;合并相似度值满足预设阈值的区域集,以得到多个合并区域;将所述合并区域中像素面积最大的闭合区域作为所述待处理图像的待估算食物区域;其中,所述相似度计算包括颜色相似度计算、纹理相似度计算、尺寸相似度计算、交叠相似度计算的其中一种或多种组合。例如,在本公开至少一实施例提供的食物体积计算方法中,对于包括所述待估算食物的待处理图像,所述提取所述待估算食物所占据的待估算食物区域,包括:基于深度卷积网络模型对所述待处理图像进行边缘识别,以获取所述待处理图像中所述待估算食物的待估算食物区域。
本公开至少一实施例提供一种食物热量计算方法,包括:获取待估算食物的种类;根据本公开任一实施例所述的食物体积计算方法获取所述待估算食物的体积;根据所述待估算食物的种类查询食物密度表确定所述待估算食物的密度,基于所述待估算食物的密度和所述待估算食物的体积得到所述待估算食物的质量;根据所述待估算食物的种类查询食物热量表确定所述待估算食物的热量密度,基于所述待估算食物的热量密度和所述待估算食物的质量得到所述待估算食物的热量。
本公开至少一实施例提供一种电子装置,包括:食物体积计算单元,所述食物体积 计算单元配置为执行本公开任一实施例所述的食物体积计算方法以获取所述待估算食物的体积信息。例如,在本公开至少一实施例提供的电子装置还包括食物热量计算单元,配置为:获取所述待估算食物的种类;根据所述待估算食物的种类确定所述待估算食物的密度,基于所述待估算食物的密度和所述待估算食物的体积信息得到所述待估算食物的质量;根据所述待估算食物的种类确定所述待估算食物的热量密度,基于所述待估算食物的热量密度和所述待估算食物的质量得到所述待估算食物的热量。
例如,在本公开至少一实施例提供的电子装置还包括图像采集单元,配置为获取与所述立体参考物和所述待估算食物相应的参考图像和食物图像;输出单元,配置为显示或输出所述待估算食物的体积信息和/或热量信息。
本公开至少一实施例提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的食物体积计算方法或根据本公开任一实施例所述的食物热量计算方法。
本公开至少一实施例提供一种存储介质,其中,所述存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的食物体积计算方法或根据本公开任一实施例所述的食物热量计算方法。
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种食物体积计算方法的示意性流程图;
图2为图1所示的食物体积计算方法中步骤S110的示例流程图;
图3A为图1所示的食物体积计算方法中步骤S130的示例流程图;
图3B为本公开至少一实施例提供的半球形碗的标准容器图像;
图4A为本公开至少一实施例提供的手部握拳图像示意图;
图4B为本公开至少一实施例提供的提取图4A所示的手部握拳图像中的握拳区域过程示意图;
图5A为本公开至少一实施例提供的一种电子装置的示意性框图;
图5B至图5F为执行本公开至少一实施例提供的食物体积计算方法及食物热量计算方法的产品界面图;
图6为本公开至少一实施例提供的一种电子设备的示意性框图;
图7为本公开至少一实施例提供的一种存储介质的示意图;
图8为本公开至少一实施例提供的一种硬件环境的示意图。
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施 例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
可以通过食物照片估算食物的体积进而得出食物热量,例如根据特定标准卡与食物以某种角度范围拍摄的照片获取食物体积,这种方式需要特定标准卡作为参考,使用场景受限制,此外由于特定标准卡为平面化结构,还需对拍摄方向有要求,需要获得特定拍摄角度范围的图像,增加了操作方式的复杂度。
本公开至少一实施例提供一种食物体积计算方法。该食物体积计算方法包括:获取立体参考物的实际尺寸信息;获取与立体参考物和待估算食物相应的参考图像和食物图像;根据立体参考物的实际尺寸信息、基于参考图像获取的参考区域尺寸信息以及基于食物图像获取的食物区域尺寸信息,获得待估算食物的体积信息。
该食物体积计算方法不限定参考图像与食物图像必须位于同一图像,且不限定以特定拍摄方式完成图像获取,降低了操作的复杂度,增强了应用的灵活性。
下面通过多个实施例以及每个实施例的至少一个示例对上述食物体积计算方法进行非限制性的说明。如下面所描述的,在不相互抵触的情况下这些具体示例或实施例中不同特征可以相互组合,从而得到新的示例或实施例,这些新的示例或实施例也都属于本公开保护的范围。
图1为本公开至少一实施例提供的一种食物体积计算方法的示意性流程图。
例如,如图1所示,本公开至少实施例提供的食物体积计算方法包括如下步骤S110至S130。
在步骤S110,获取立体参考物的实际尺寸信息。
在步骤S120,获取与立体参考物和待估算食物相应的参考图像和食物图像。这里,所获取的参考图像允许计算得到立体参考物的参考区域尺寸信息,且所获取食物图像允许计算得到待估算食物的食物区域尺寸信息。
在步骤S130,根据立体参考物的实际尺寸信息、基于参考图像获取的参考区域尺寸 信息以及基于食物图像获取的食物区域尺寸信息,获得待估算食物的体积信息。
例如,步骤S110-步骤S130可以顺序执行,也可以按调整后的其他次序执行,本公开的实施例对各个步骤的执行顺序不作限制,可以根据实际情况调整。例如,步骤S110-步骤S130可以由服务器或本地端实现,本公开的实施例对此不做限制。例如,在一些示例中,实施本公开至少一实施例提供的食物体积计算方法可以选择地执行步骤S110-S130中的部分步骤,也可以执行除了步骤S110-S130以外的一些附加步骤,本公开的实施例对此不做具体限制。
例如,立体参考物可以为能够计算体积信息的立体物体,例如,立体参考物可以是球体、圆柱体、椭球体、正方体等形状,例如,立体参考物可以选择为人们生活中便于获取的各种物品等,例如,苹果或橙子等水果、网球或鸡蛋等物品,又例如可以为近似为球形的握拳状态下的手部等。需要说明的是,这里立体参考物形状不限于标准形状,可近似为球体、圆柱体等形状的立体参考物均可用于实现本公开的食物体积计算方法,本公开对此不作限制。另一方面,在本公开的方法中,待估算食物可以是独立提供的,例如具有稳定形状的食物,例如馒头、面包,也可以是容纳在某种形状的容器中的食物,例如米饭、麦片、肉块等,本公开的实施例对此不作限制。
例如,对于步骤S110,获取立体参考物的实际尺寸信息可以通过各种适当的方式实现。例如,立体参考物的尺寸为预先存储在数据库中的固定的已知尺寸,获取立体参考物的实际尺寸信息包括调取存储在数据库中的已知尺寸;例如,立体参考物的尺寸为标准尺寸,例如立体参考物为足球、乒乓球等,获取立体参考物的实际尺寸信息包括获取立体参考物的标准尺寸;例如,立体参考物的尺寸可以通过预先计算获取并存储在数据库中,获取立体参考物的实际尺寸信息包括调取存储在数据库中的预先计算的尺寸;例如,立体参考物的尺寸还可以在每次执行步骤S110时重新计算尺寸信息,以获取立体参考物的当前尺寸信息。例如,计算立体参考物尺寸时可以通过具有已知尺寸或者可直接获得尺寸的参考物来获取立体参考物的一个或多个尺寸,进而计算得到立体参考物的实际尺寸信息。
例如,在一个示例中,获取立体参考物与可获取参考尺寸的第一参考物并列的多幅立体参考物图像,例如,将第一参考物并排放置在立体参考物旁边,并在拍摄过程中保持第一参考物和立体参考物不会互相遮挡。例如,多幅立体参考物图像为多幅不同拍摄角度的图像,例如,立体参考物与第一参考物并列放置的主视图和侧视图,根据多幅立体参考物图像以及第一参考物的参考尺寸获取立体参考物的实际尺寸信息。例如,对于每一幅立体参考物图像,获取在立体参考物图像中的第一参考物的参考尺寸对应的第一像素数量,以及在立体参考物图像中立体参考物的至少一个维度上的第二像素数量;根据第一像素数量和第二像素数量,获得在立体参考物图像中立体参考物在至少一个维度上的计算尺寸;基于从多幅立体参考物图像获取的多个计算尺寸获取立体参考物的实际尺寸信息。例如,可以通过深度学习模型来获取在立体参考物图像中第一参考物的参考尺寸对应的第一像素数量。这样的第一参考物例如为已知尺寸(例如某一维度为长度或 宽度等的任何物体,例如可以为直尺(或三角板)、A4纸张(或B5纸张等)等。
在另一个示例中,获取立体参考物的实际尺寸信息,包括:获取立体参考物放置于可计算参考面积的第二参考物一侧的立体参考物图像;根据立体参考物图像以及参考面积获取立体参考物的实际尺寸信息,例如,立体参考物图像包括第二参考物中用于计算参考面积的信息。例如,若第二参考物为平面参考物,例如该第二参考物可以为任何具有标准尺寸的平面物体,例如,可以为A4纸张(或B5纸张等具有标准尺寸的纸张)、120型光盘(直径为120mm)等,则第二参考物的一侧指第二参考物的任一面,参考面积指由第二参考物的任一面计算得到的参考面积;例如,若第二参考物为立体参考物,例如该第二参考物为立体物体,具有在两个维度上已知尺寸(例如长度和宽度)的被选择平面,则第二参考物的一侧指第二参考物中的被选择平面,并且根据两个维度上的已知尺寸可以获得第二参考物中被选择平面的参考面积。
例如,对于第二参考物为A4纸张(或B5纸张等)等矩形物体,根据立体参考物图像以及参考面积获取立体参考物的实际尺寸信息,包括:获取立体参考物图像中第二参考物的像素面积;基于第二参考物的像素面积以及参考面积,得到第一映射比例;获取立体参考物图像中的立体参考物所占据的区域的像素面积;根据第一映射比例及立体参考物所占据的区域的像素面积,获取立体参考物的体积,以得到立体参考物的实际尺寸信息。例如,在这些示例中,立体参考物可以为球形、椭球形、长方体等,由此根据第一映射比例及立体参考物所占据的区域的像素面积,就能获得立体参考物的沿中轴的切面的实际面积,由此分别得到半径、长径与短径、长度与宽度等,并进一步由此获得立体参考物的实际尺寸。
例如,第二参考物为A4纸张(或B5纸张等)等矩形物体,拍摄得到的立体参考物图像有角度误差,若直接通过像素点的值计算第二参考物的像素面积会产生误差,第二参考物则可以采用最小外接矩形选定第二参考物的范围,通过计算外接矩形的像素面积得到第二参考物的像素面积,从而得到更加准确的第二参考物的面积。例如,获取立体参考物图像中第二参考物的像素面积包括:获取立体参考物图像中第二参考物的最小外接矩形以及最小外接矩形的像素面积,将最小外接矩形的像素面积作为第二参考物的像素面积,例如,立体参考物图像中对应于第二参考物的像素点的像素值在第一值范围内,第二参考物的最小外接矩形根据像素值在第一值范围内的像素点的位置获取,并且,获取立体参考物图像中的立体参考物所占据的区域的像素面积,还包括:将最小外接矩形中像素点的像素值为不满足第一值范围的像素点作为立体参考物所占据的区域,以获取立体参考物所占据的区域的像素面积。
进一步地,例如,对于第二参考物在立体参考物图像中例如基本上为单色图像(例如单色的(例如白色)的A4纸等),例如立体参考物图像中对应于第二参考物的像素点的像素值在第一值范围内。对应地,获取立体参考物图像中的立体参考物所占据的区域的像素面积,包括:将立体参考物图像中像素点的像素值为不满足第一值范围的像素点作为立体参考物所占据的区域,以获取立体参考物所占据的区域的像素面积;或者,根 据深度学习模型提取立体参考物所占据的区域,获取立体参考物所占据的区域的像素面积,例如,根据深度学习模型(例如faster-RCNN算法、YOLO算法)对立体参考物图像进行目标识别,以提取立体参考物所占据的区域,进而获取立体参考物所占据的区域的像素面积。
对于步骤S120,例如,所获取的参考图像和食物图像可以是一幅也可以是多幅。例如,获取立体参考物与待估算食物以一种拍摄方式成对获取的一幅参考图像和一幅食物图像,例如,可以获取立体参考物与待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像。例如,可以以多种拍摄方式成对获取多幅参考图像和多幅食物图像,例如,多幅参考图像和多幅食物图像是成对拍摄的,且每一对对应于一种拍摄方式,通过调整不同的拍摄方式得到不同的多对参考图像和食物图像。
例如,以同一拍摄方式相应地成对获取的参考图像与食物图像为彼此相应的一对图像,即独立地以相同的拍摄方式拍摄参考图像与食物图像,由此得到彼此相应的一对图像。或者,以同一拍摄方式相应地成对获取的参考图像与食物图像属于同一幅图像的组成部分,即,以多种拍摄方式拍摄多张组合图像,每一张组合图像都包括有立体参考物和待估算食物(例如二者以任何可行的方式并排放置),即每一张组合图像包括参考图像的部分和食物图像的部分,由此得到彼此相应的一对图像。在该方式中,立体参考物和待估算食物二者可以任何可行的方式放置,只要能得到二者的图像即可,且在该方式中参考图像与对应的食物图像二者的拍摄方式完全相同。
本公开的至少一个实施例提供的食物体积计算方法可以分别获取以相同拍摄方式拍摄的多幅食物图像和多幅参考图像,从而不必在图像获取时必须同时将待估算食物和参考物放在一起拍摄,可以根据需要分别甚至分时获取食物图像以及参考图像,使得该食物体积计算方法的使用场景更加灵活,操作方式简单快捷,提高用户体验。
例如,拍摄方式具有多个参数,例如至少可以包括放置作为被拍摄对象的立体参考物或待估算食物的支撑面、拍摄距离和拍摄方向,例如,拍摄距离为摄像头相对于被拍摄对象的拍摄距离,拍摄方向为摄像头相对于支撑面的拍摄方向,拍摄方向也可以理解为摄像头与被拍摄对象之间的连线相对于支撑面的夹角,例如,拍摄方向为垂直于支撑面或者平行于支撑面,例如,拍摄方式还可以包括拍摄时的焦距大小等。例如,对于一种拍摄方式得到的相应的一对参考图像与食物图像,其拍摄距离以及拍摄方向应当相同,其支撑面可以相同也可以不同,例如,对于不同拍摄方式得到的多幅食物图像和多幅参考图像,其拍摄方向不同,其拍摄距离以及支撑面可以相同也可以不同。例如,可以分别获得立体参考物以第一拍摄方式获得的参考图像以及待估算食物以第一拍摄方式获得的食物图像,两幅图像可以不采用同一个支撑面,但两幅图像中的相对于被拍摄对象的拍摄距离以及相对于支撑面的拍摄方向相同,由此允许进行本公开实施例的方法中所要求的计算。本公开的实施例对于拍摄所适用的工具不做限制,例如,可以采用各种规格的摄像头、相机、录像机等。
例如,在一些示例中,为了计算得到立体参考物的参考区域尺寸信息以及计算得到 待估算食物的食物区域尺寸信息,需要以多种(例如两种或以上)拍摄方式相应地成对获取多幅参考图像和多幅食物图像。例如,多种拍摄方式可以包括第一拍摄方式和第二拍摄方式,这两种拍摄方式的拍摄方向彼此不同,第一拍摄方式的拍摄方向和第二拍摄方式的拍摄方向彼此交叉,也就是说,第一拍摄方式的拍摄方向和第二拍摄方式的拍摄方向具有一定夹角,例如,夹角可以为0-90度之间的任意角度,由此可以通过对拍摄的图像进行分析以获得被拍摄对象的至少两个维度上的尺寸信息,例如,可以通过图像检测与识别方法获得被拍摄对象的长度信息、宽度信息和高度信息。对应地,多幅参考图像包括分别使用第一拍摄方式和第二拍摄方式获取的第一参考图像和第二参考图像,第一参考图像和第二参考图像允许计算得到立体参考物的参考区域尺寸信息;多幅食物图像包括分别使用第一拍摄方式和第二拍摄方式获取的第一食物图像和第二食物图像,第一食物图像和第二食物图像允许计算得到待估算食物的食物区域尺寸信息。由于不限制拍摄方向必须满足特定要求,从而降低了用户操作难度,增强了应用的灵活性。
例如,第一拍摄方式的拍摄方向和第二拍摄方式的拍摄方向彼此垂直,并且第一拍摄方式的拍摄方向垂直于第一拍摄方式的支撑面,第二拍摄方式的拍摄方向平行于第二拍摄方式的支撑面。在该两种方式中支撑面为同一支撑面或彼此平行,由此例如第一拍摄方式可以获得被拍摄物(即立体参考物和待估算食物)的主视图,而第二方式可以获得被拍摄物的侧视图,由此通过主视图获得尺寸(例如底面积)以及侧视图获得的尺寸(例如高度或厚度),可以进行体积计算。
例如,在至少一个示例中,获取立体参考物与待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像,包括:连续拍摄待估算食物和立体参考物同时位于同一支撑面的多幅图像,提取多幅图像中的多幅关键图像,以得到多幅参考图像和多幅食物图像,其中,关键图像包括相应的一对参考图像和食物图像。连续拍摄多幅图像可以获得更全面的待估算食物的信息,从而得到更加准确的待估算食物体积的计算结果。
例如,连续拍摄待估算食物和立体参考物同时位于同一支撑面的多幅图像,提取多幅图像中的多幅关键图像,包括:针对多幅图像中的每幅图像,提取待估算食物所占据的待估算食物区域,获取每幅图像对应的待估算食物区域的像素面积;根据每幅图像对应的待估算食物区域的像素面积,提取多幅图像中待估算食物区域的像素面积的相对变化大于预设阈值的图像,作为多幅关键图像之一,例如,多幅关键图像至少包括第一关键图像和第二关键图像,第一关键图像包括第一食物图像和第一参考图像,第二关键图像包括第二食物图像和第二参考图像。例如,通过拍摄视频,可以连续拍摄待估算食物和立体参考物同时位于同一支撑面的多幅图像。这里的相对变化指多幅图像之间的待估算食物区域的像素面积的差值,例如,在获得了多幅图像中待估算食物区域的像素面积之后,根据待估算食物区域的像素面积的大小进行排序(例如升序或降序),然后选择基准图像,在该序列中选择相对于该基准图像中待估算食物区域的像素面积变化大于预设阈值的图像,作为第一关键图像,依次类推,得到多幅关键图像。从多幅图像中选择待 估算食物区域的像素面积差异较大的图像作为关键图像,可以在降低图像分析数量的前提下获得较好的食物体积估算结果。
对于步骤S130,可以根据参考图像计算得到立体参考物的参考区域尺寸信息,根据食物图像计算得到待估算食物的食物区域尺寸信息,从而可以根据立体参考物的实际尺寸信息、参考区域尺寸信息以及食物区域尺寸信息,获得待估算食物的体积信息。
例如,在上述至少一个示例中,可以根据立体参考物的实际尺寸信息、第一参考图像、第二参考图像、第一食物图像和第二食物图像,获得待估算食物的体积信息。
例如,待估算食物容纳在一定形状的容器之中,根据立体参考物的实际尺寸信息、参考区域尺寸信息以及食物区域尺寸信息,获得待估算食物的体积信息,包括:获取多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到立体参考物的参考区域尺寸信息;根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例;针对上述第一食物图像,提取待估算食物所占据的待估算食物区域,得到食物区域尺寸信息;根据食物区域尺寸信息以及第二映射比例,得到食物尺寸信息;针对多幅食物图像,提取待估算食物所占据的待估算食物区域,根据多幅食物图像中每幅图像对应的待估算食物区域确定待估算食物的容器形状;根据待估算食物的容器形状以及食物尺寸信息,获得待估算食物的体积信息。例如,针对上述第二食物图像,提取待估算食物所占据的待估算食物区域,根据待估算食物区域以及第二映射比例,确定待估算食物的高度值;并且根据待估算食物的容器形状、待估算食物的高度值以及食物尺寸信息,获得待估算食物的体积信息。
例如,上述示例中,获取多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到立体参考物的参考区域尺寸信息,包括:对每幅参考图像提取立体参考物所占据的区域(例如根据深度学习模型),获取每幅参考图像对应的立体参考物所占据的区域的像素面积;对全部获取的立体参考物所占据的区域的像素面积计算平均值,以得到立体参考物的参考区域尺寸信息。这里所适用的深度学习模型例如提前使用训练数据训练得到,可以对图像进行区域划分。
例如,上述示例中,根据待估算食物区域以及第二映射比例,确定待估算食物的高度值,包括:获取待估算食物区域中,每一列像素点对应的像素个数;根据每一列像素点对应的像素个数,确定待估算食物的高度分量;根据高度分量以及第二映射比例,确定待估算食物的高度值。
例如,针对多幅食物图像,根据多幅食物图像中每幅图像对应的待估算食物区域确定待估算食物的容器形状,包括:获取标准容器识别模型(例如为深度学习模型),根据多幅食物图像以及标准容器识别模型,确定待估算食物的容器形状。该深度学习模型可以通过提前使用包括各种容器形状的训练数据训练得到,由此检测输入图像的容器形状为碟形、半球形、截锥体等,在获得了容器的形状之后,由此可以根据该形状来计算体积。
例如,在上述示例中,对于包括待估算食物的待处理图像,提取待估算食物所占据 的待估算食物区域,包括:将待处理图像划分为多个区域集,对每个区域集进行相似度计算,以获取每个区域集的相似度值;合并相似度值满足预设相似度阈值的区域集,以得到多个合并区域;将合并区域中像素面积最大的闭合区域作为待处理图像的待估算食物区域。这里,相似度计算包括颜色相似度计算、纹理相似度计算、尺寸相似度计算、交叠相似度计算的其中一种或多种组合。
例如,对于包括待估算食物的待处理图像,提取待估算食物所占据的待估算食物区域,包括:基于深度卷积网络模型对待处理图像进行边缘识别,以获取待处理图像中待估算食物的待估算食物区域。
例如,在至少一个示例中,通过深度学习模型对第一参考图像以及第二参考图像进行边缘检测,获取每幅参考图像中立体参考物所占据的区域的像素面积,以得到立体参考物的参考区域尺寸信息,例如,对两个参考图像中立体参考物所占据的区域的像素面积计算平均值,以得到立体参考物的参考区域尺寸信息;根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例;接着,针对第一食物图像,通过深度学习模型进行边缘检测提取待估算食物所占据的待估算食物区域,获取待估算食物区域的形状以及尺寸,例如,待估算食物区域为圆形,则检测待估算食物区域的最大宽度作为待估算食物区域的直径,进而基于第二映射比例,得到待估算食物的真实直径以作为食物尺寸信息;通过预先训练好的深度学习模型(例如faster-RCNN算法、YOLO算法)对多幅食物图像进行目标识别,从而获取待估算食物容器形状,例如,待估算食物容器为可近似为半球形的锅、碗等;根据食物尺寸信息以及待估算食物容器形状,获得待估算食物的体积信息,例如,根据半球形体积计算公式以及带估算食物的真实直径,获得带估算食物的体积信息。
例如,在另一些示例中,步骤S130还可以包括,根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例;通过深度学习模型(例如Faster R-CNN模型)识别多幅食物图像中的待估算食物,得到边缘识别结果以及待估算食物的名称,根据边缘识别结果得到待估算食物的食物区域尺寸信息,从而根据待估算食物区域尺寸信息及第二映射比例得到食物尺寸信息,根据待估算食物的名称可以获得待估算食物的形状,根据食物尺寸信息、待估算食物的形状可获得待估算食物的体积信息。例如,食物尺寸信息包括待估算食物的面积,通过深度学习模型检测得到待估算食物为苹果,由于苹果可以近似为球形,从而可以获得待估算食物的体积信息。
此外,需要说明的是,对于步骤S130,所获取的多幅参考图像允许计算得到立体参考物的参考区域尺寸信息,且所获取的多幅食物图像允许计算得到待估算食物的食物区域尺寸信息,本公开对基于多幅参考图像获取参考区域尺寸信息以及基于多幅食物图像获取食物区域尺寸信息的执行方不作限制,例如,步骤S110-步骤S130由移动终端执行,此时立体参考物的参考区域尺寸信息和/或待估算食物的食物区域尺寸信息可以由移动终端计算,或者由服务器端计算再发送至移动终端。
例如,在另一些示例中,所获取的食物图像和参考图像为立体参考物与待估算食物 的正上方图像,也即拍摄方向垂直于待估算食物所在支撑面的图像,待估算食物放置于容器中,且待估算食物的容器形状已知或者根据一幅食物图像可确定待估算食物的容器形状,此时仅需要该一幅食物图像和该一幅参考图像即可完成待估算食物的体积信息的计算。根据立体参考物的实际尺寸信息、参考区域尺寸信息以及食物区域尺寸信息,获得待估算食物的体积信息,包括:获取所拍摄的一幅参考图像的立体参考物所占据的区域的像素面积,以得到立体参考物的参考区域尺寸信息;根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例;针对该一幅食物图像,提取待估算食物所占据的待估算食物区域,得到食物区域尺寸信息;根据食物区域尺寸信息以及第二映射比例,得到食物尺寸信息;根据待估算食物的容器形状以及食物尺寸信息,获得待估算食物的体积信息。
下面以立体参考物为近似为球形的握拳状态下的手部、第二参考物为具有标准尺寸的纸张为例,具体说明本公开所提供的食物体积计算方法,对于该近似为球形的握拳状态下的手部,例如将其作为标准的球形处理,但是本发明的实施例对此不作限制,例如,也可以将其作为一个椭球形或作为一个三棱柱进行处理,由此可以获得所需的尺寸信息并获得其大致的体积,该体积用于估算食物体积。
需要指出的是,本公开对于所处理的图像的类型不作限制,在一些示例中,可以为彩色图像或黑白灰度图像,甚至在一些示例中,可以为二值化图像,对于彩色图像,本公开所提及的像素点的像素值包括一组RGB像素值,对于黑白灰度图像,像素点的像素值以灰阶值表示。
在步骤S110,获取立体参考物的实际尺寸信息。
例如,在一些示例中,首先将握拳状态下的手部放置于可计算参考面积的第二参考物一侧,例如,立体参考物位于第二参考物的前侧,拍摄得到立体参考物图像,并且立体参考物图像包括第二参考物中用于计算参考面积的信息。例如,第二参考物为具有标准尺寸的单色(例如白色)纸张,例如A4纸或B5纸等。例如,第二参考物上可以存在花纹或其他颜色图案,但花纹或其他颜色图案不能超过第二参考物总面积的5%,以避免检测立体参考物时检测误差较大。例如,可以将握拳状态下的手部放置于标准尺寸的单色纸张前,拍摄得到立体参考物图像,且该立体参考物图像中包括全部的A4纸信息,也即,包括A4纸的全部长度和全部宽度信息(该A4纸也可以部分被遮挡)。
根据立体参考物图像以及第二参考物的参考面积获取立体参考物的实际尺寸信息。例如,在本公开至少一实施例中,如图2所示,该步骤可以具体包括步骤S1101-步骤S1104。
在步骤S1101,获取立体参考物图像中第二参考物的像素面积。
例如,第二参考物为标准尺寸的单色(例如白色、绿色、黄色等)纸张。例如,第二参考物为白色A4纸,其尺寸为210毫米×297毫米,因此其参考面积S
A4为623.7cm
2,为了更好地使用该A4纸作为参考物,使用其面积而非长宽尺寸来进行计算,由此可以避免拍摄图像时由于拍摄角度造成的畸变的不利影响。在立体参考物图像中,对应于第二 参考物的像素点的像素值为第一值范围(这里为白色所对应的范围,例如,R像素值范围为250-255,G像素值范围为250-255,B像素值范围为250-255),获取立体参考物图像中,像素点的像素值满足第一值范围的像素点的位置,根据这些像素点的位置得到的像素面积S
矩形。
在步骤S1102,基于第二参考物的像素面积以及参考面积,得到第一映射比例。
例如,第一映射比例可以根据公式(1)计算得到:
在步骤S1103,获取立体参考物图像中的立体参考物所占据的区域的像素面积。
例如,在一些示例中,立体参考物图像中握拳状态下的手部中的手腕部分抵在第二参考物的边缘,可以根据握拳状态下的手部与第二参考物的颜色差异获取立体参考物所占据的区域,也即根据立体参考物图像中对应于握拳状态下的手部部分的像素点的像素值所在的像素值区间与对应于第二参考物部分的像素点的像素值的所在的像素值区间不同,通过检测立体参考物图像的像素点的像素值获取握拳状态下的手部所占据的握拳区域。
例如,第二参考物为标准尺寸的单色(例如白色)纸张,将立体参考物图像中像素点的像素值不满足第一值范围的像素点作为握拳区域,获取握拳区域的像素面积,以作为立体参考物(也即握拳状态下的手部)所占据的区域的像素面积S
ref。
在步骤S1104,根据第一映射比例及立体参考物所占据的区域的像素面积,获取立体参考物的体积,以得到立体参考物的实际尺寸信息。
由于握拳状态下的手部可以近似为球形,其在立体参考物图像中的正投影可近似为圆形,因此通过圆形面积计算公式,可以根据第一映射比例scale
1及立体参考物所占据的区域的像素面积S
ref,按照公式(2)计算得到立体参考物的半径r:
在得到立体参考物的半径r后,根据球体体积计算公式(3),计算得到握拳状态下的手部的实际尺寸信息,也即立体参考物的实际尺寸信息。
例如,在另一些示例中,可以先对例如握拳状态的手部这样的彩色的立体参考物图像进行灰度化处理,以得到黑白灰度图像;再对灰度图像进行二值化处理得到中间二值化图像;最后对中间二值化图像进行图像腐蚀和图像膨胀处理,填充中间二值化图像的细小空洞部分,以得到立体参考物的二值化图像。例如,执行步骤S110时,在步骤S1101,获取立体参考物的二值化图像中的像素点的灰阶值满足第一值范围(例如,第二参考物为白色A4纸,第一值范围为250-255)的像素点的位置,根据这些像素点的位置得到第二参考物的像素面积S
矩形;接着,执行步骤S1102-S1104得到立体参考物实际尺寸信息。
例如,在另一些示例中,立体参考物图像中握拳状态下的手部中的手腕部分未抵在第二参考物的边缘,立体参考物图像包括握拳状态下的手部及手臂部分,由于立体参考物图像中的握拳状态下的手部所占据的区域不仅包括近似球形的握拳状态下的手部,还 包括长条形手臂部分,因而需要通过手部检测模型获取手部握拳图像,进而提取手部握拳图像中的握拳区域,相应地尽量去除手臂部分,以减小计算的误差。例如,执行步骤S110时,首先执行步骤S1101,获取立体参考物图像中第二参考物的的像素面积;接着,执行步骤S1102计算第一映射比例;接着,在步骤S1103,通过手部检测模型获取手部握拳图像,提取手部握拳图像中的握拳区域,获取握拳区域的像素面积,以作为立体参考物(也即握拳状态下的手部)所占据的区域的像素面积S
ref;最后,执行步骤S1104得到立体参考物的实际尺寸信息。
作为对比,例如,在另一些示例中,第二参考物为可计算参考面积的单色背景板(例如印刷为黑色的120型光盘),其形状可以不是矩形。例如,执行步骤S110时,可以通过深度学习模型识别第二参考物的形状(例如圆形),提取第二参考物区域并获得第二参考物区域的像素面积,从而基于第二参考物区域的像素面积及第二参考物的参考面积,得到第一映射比例;接着,检测第二参考物区域中,与第二参考物的像素值不同的像素点(例如像素点的像素值中R像素不为0,G像素不为0,B像素也不为0的像素点)位置,进而得到立体参考物(例如握拳状态下的手部)所占据的区域的像素面积S
ref;最后,执行步骤S1104得到立体参考物的实际尺寸信息。
接着,在步骤S120,获取与立体参考物和待估算食物相应的参考图像和食物图像。
例如,将待估算食物和握拳状态下的手部同时放置于同一支撑面,例如二者并列放置,例如,将手握拳并排放置在待估算食物旁边,并在拍摄过程中保持待估算食物和握拳状态下的手部不会互相遮挡,连续拍摄待估算食物和握拳状态下的手部同时位于同一支撑面的多幅图像,同时应当保持拍摄过程中待估算食物和握拳状态下的手部位于同一水平面且不会相互遮挡,例如可以通过拍摄视频,来连续拍摄待估算食物和握拳状态下的手部同时位于同一支撑面的多幅图像。例如,可以通过视频拍摄或其他连续拍摄的方式,从垂直于待估算食物和握拳状态下的手部所在支撑面的方向开始,滑动拍摄一段视频,直到平行于待估算食物和握拳状态下的手部所在支撑面的方向停止,从而得到多幅图像,每幅图像包括相应的一对参考图像和食物图像。由于手部握拳后近似于球形,在采集视频时可保证摄像头不因拍摄角度的不同而影响检测效果。
接着,提取多幅图像中的多幅关键图像,以得到多幅参考图像和多幅食物图像。例如,针对多幅图像中的每幅图像,提取每幅图像中待估算食物所占据的待估算食物区域,获取每幅图像对应的待估算食物区域的像素面积;根据每幅图像对应的待估算食物区域的像素面积,提取多幅图像中待估算食物区域的像素面积的相对变化大于预设阈值的图像,作为多幅关键图像之一。该预设阈值可以根据经验预先选择,例如选择为10%~50%,关键图像的数量例如大于等于3。在获得了多幅图像中待估算食物区域的像素面积之后,根据待估算食物区域的像素面积的大小进行排序(例如升序或降序),然后选择基准图像,在该序列中选择相对于该基准图像的像素面积的相对变化大于预设阈值的第一后续图像,然后在该序列中选择相对于该第一后续图像的像素面积的相对变化大于预设阈值的第二后续图像,依次类推,由此得到多幅关键图像。
例如,在一个实施例中,首先提取拍摄方向垂直于待估算食物和握拳状态下的手部所在支撑面的图像作为第一关键图像;接着,提取拍摄方向平行于待估算食物和握拳状态下的手部所在支撑面的图像作为第二关键图像;接着,提取视频中相对于第一关键图像的待估算食物区域的像素面积变化大于阈值20%的图像作为第三关键图像;接着,提取视频中相对于第三关键图像的待估算食物区域的像素面积变化大于20%的图像作为第四关键图像,依次类推,从而得到多幅关键图像。
例如,每幅关键图像均包括待估算食物信息与握拳状态下的手部的信息,从而每幅关键图像包括相应的一对参考图像和食物图像,从每幅关键图像中去除握拳状态下的手部部分得到食物图像,从而根据多幅关键图像得到多幅相对应的参考图像和食物图像。
最后,在步骤S130,根据立体参考物的实际尺寸信息、基于参考图像获取的参考区域尺寸信息以及基于食物图像获取的食物区域尺寸信息,获得待估算食物的体积信息。
图3A为图1所示的食物体积计算方法中步骤S130的示例流程图。如图3A所示,食物体积计算方法中的步骤S130的示例可以具体包括步骤S1301-步骤S1306。
首先,在步骤S1301,获取多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到立体参考物的参考区域尺寸信息。
例如,在一些示例中,可以通过深度学习模型(例如faster-RCNN算法、YOLO算法等)对每幅参考图像提取立体参考物(例如握拳状态下的手部)区域,获取每幅参考图像对应的立体参考物所占据的区域的像素面积;接着,对全部获取的立体参考物所占据的区域的像素面积计算平均值,以得到立体参考物的参考区域尺寸信息。
例如,在另一些示例中,可以针对每幅参考图像,根据手部检测模型获取手部握拳图像,提取手部握拳图像中的握拳区域,获取握拳区域的像素面积;接着,对全部获取的握拳区域的像素面积计算平均值,以得到立体参考物的参考区域尺寸信息。接着,在步骤S1302,根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例。
在上述示例中,立体参考物为可近似为球形的握拳状态下的手部,从而可以根据立体参考物的实际尺寸信息计算得到握拳状态下的手部的真实面积S
手,立体参考物的参考区域尺寸信息为握拳状态下的手部所占据的区域的像素面积S
pix,从而第二映射比例可以根据公式(4)计算得到:
接着,在步骤S1303,针对第一食物图像,提取待估算食物所占据的待估算食物区域,得到食物区域尺寸信息。
例如,第一食物图像为拍摄方向垂直于待估算食物所在支撑面的图像,也即待估算食物正上方图像。
例如,在一些示例中,针对第一食物图像,提取待估算食物所占据的待估算食物区域时,可以采用相似度计算方法获取颜色、纹理等特征相似的多块区域,选取其中面积最大的闭合区域作为待估算食物区域。例如,首先将第一食物图像划分为多个区域集, 对每个区域集进行相似度计算,以获取每个区域集的相似度值;接着,合并相似度值满足预设相似度阈值的区域集,以得到多个合并区域;最后,将合并区域中像素面积最大的闭合区域作为第一食物图像的待估算食物区域。
获取第一食物图像的待估算食物区域后,提取待估算食物区域像素面积,将其作为食物区域尺寸信息。例如,多幅食物图像为将待估算食物放置于半球形的碗中拍摄的图像,则第一食物图像获取的待估算食物正上方图像信息为圆形的待估算食物区域,提取待估算食物区域像素面积以作为食物区域尺寸信息。
例如,相似度计算方法可以采用选择性搜索算法对待估算食物图像进行图像分割,从而得到待估算食物区域。选择性搜索算法可以包括如下操作:
首先,计算每一个像素点与和其满足连通域关系的像素点之间的不相似度。
例如,连通域关系可以为四连通,则计算每一个像素点与其上侧、下侧、左侧、右侧像素点之间的不相似度;例如,连通域关系可以为八连通,则计算每一个像素点与其上侧、下侧、左侧、右侧、左上侧、左下侧、右上侧、右下侧像素点之间的不相似度。
例如,不相似度计算可以包括颜色相似度计算、纹理相似度计算、尺寸相似度计算、交叠相似度计算的其中一种或多种组合,例如,不相似度包括颜色不相似度、纹理不相似度、尺寸不相似度和交叠不相似度叠加相应权重后的结果之和。
需要说明的是,像素点之间的连线称为边,每条边对应像素点v
i和v
j,每条边对应一个不相似度值,该不相似度值代表这条边所对应的两个像素点之间的不相似度。
其次,将边按照不相似度值的大小升序排列,以得到边集合。
然后,遍历边集合以对每个边元素进行合并判断。
例如,若该边元素所对应的像素点v
i和v
j不属于同一个区域,且该边元素对应的不相似度值不大于像素点v
i和v
j内部的不相似度,则将像素点v
i和v
j合并为同一个区域;否则继续遍历,对下一个边元素进行合并判断,直到遍历至最后一个边元素。
需要说明的是,关于选择性搜索算法的更多信息可以参考常规设计,本公开的上述描述仅仅是示意性的介绍。
例如,在另一些示例中,提取待估算食物所占据的待估算食物区域时,先根据深度学习模型提取待估算食物区域的粗略范围,进而对该粗略范围通过相似度计算方法获取待估算食物区域。这种采用深度学习和相似度计算结合的方式提取待估算食物区域,可以删除除待估算食物区域外的无关背景,缩小计算误差,并且,在待估算食物容纳在容器中的情况,还可以改善当容器中待估算食物未装满情况下的计算误差。
接着,在步骤S1304,根据食物区域尺寸信息以及第二映射比例,得到食物尺寸信息。
例如,多幅食物图像为将待估算食物放置于半球形的碗中拍摄的图像,第一食物图像的食物区域尺寸信息为待估算食物区域像素面积S
f,根据第二映射比例得到待估算食物区域的真实面积为S
f*scale
2,通过圆形面积计算公式即可得到待估算食物区域的真实半径r,也即食物尺寸信息。
接着,在步骤S1305,针对多幅食物图像,提取待估算食物所占据的待估算食物区域, 根据多幅食物图像中每幅图像对应的待估算食物区域确定待估算食物的容器形状。
例如,在一些示例中,基于深度学习模型获取标准容器识别模型,根据多幅食物图像以及标准容器识别模型,确定待估算食物的容器形状。例如,可以基于深度学习模型中的目标识别算法(例如faster-RCNN算法、YOLO算法),训练对锅、碗、盘、盆等常见容器数据集进行目标识别的模型,从而获取标准容器识别模型;将多幅食物图像输入标准容器识别模型进行容器类型识别,获取待估算食物的容器形状。
例如,在另一些示例中,计算食物图像与预存在数据库的标准容器的标准容器图像边缘的欧式距离,根据不同的标准容器对应的欧式距离获取待估算食物的容器形状。例如,数据库中的标准容器集合预存了多个标准容器图像,每个标准容器图像可以包括多个角度的图像,例如,如图3B所示为作为标准容器的示例的半球形碗的标准容器图像,包括:(1)垂直于碗所在支撑面视角的图像(主视图);(2)与碗所在支撑面的夹角为45度视角的图像(立体图);平行于碗所在支撑面视角的图像(侧视图)。
首先,提取多幅食物图像中与标准容器集合中第q个标准容器所对应方向相同的图像,以得到对应于第q个标准容器的至少一个待估算容器图像,例如,提取多幅食物图像中的第一食物图像和第二食物图像作为对应于半球形碗的待估算容器图像。
接着,针对每个待估算容器图像,提取待估算食物所占据的待估算食物区域,例如,针对第一食物图像和第二食物图像分别采用如步骤S1303所述的待估算食物区域提取方法提取带估算食物所占据的待估算食物区域。例如,可以采用深度学习模型算法、相似度计算方法或深度模型与相似度计算结合算法,这里不再赘述。
接着,分别计算待估算容器图像的待估算食物区域与对应方向的第q个标准容器的形状边缘的欧式距离,以得到至少一个欧式距离值,例如,计算第一食物图像与图3B所示的标准容器图像中编号为(1)的半球形碗的形状边缘的第一欧式距离,计算第二食物图像与图3B所示的标准容器图像中编号为(3)的半球形碗的形状边缘的第二欧式距离。
接着,将第q个标准容器的全部方向对应的欧式距离值叠加预设每个方向对应的权重值求和,以得到对应于第q个标准容器的欧式距离和值,例如,将第一欧式距离与第一权重值相乘的乘积与第二欧式距离与第二权重值相乘的乘积相加,得到对应于第q个半球形碗的欧式距离和值。
最后,检测对应于标准容器集合的欧式距离和值集合中的最小值,将最小值对应的标准容器作为待估算食物的容器形状,例如,按照上述步骤计算得到对应于标准容器集合中的全部标准容器的欧式距离和值集合,检测得到对应于半球形碗的欧氏距离和值最小,则认为待估算食物的容器形状为碗。
在步骤S1306,根据待估算食物的容器形状以及食物尺寸信息,获得待估算食物的体积信息。
例如,待估算食物的容器形状为可近似为半球形的碗或锅,则可根据待估算食物区域的真实半径r以及半球体计算公式获得待估算食物的体积信息。
例如,在一些示例中,待估算食物的容器形状为可近似为圆柱体的盆,由于圆柱体 的体积计算需要高度值,所以步骤S130还可以包括:针对第二食物图像,提取待估算食物所占据的待估算食物区域,根据待估算食物区域以及第二映射比例,确定待估算食物的高度值。此时,在步骤S1306,根据待估算食物的容器形状、待估算食物的高度值以及食物尺寸信息,获得待估算食物的体积信息,例如,食物尺寸信息包括待估算食物的真实半径r,根据圆柱体的体积计算公式、待估算食物的真实半径r以及待估算食物的高度值即可得到待估算食物的体积。
例如,在一些示例中,确定待估算食物的高度值可以通过获取待估算食物区域中每一列像素点对应的像素个数得到,例如,选取列像素个数中的最大值作为待估算食物的高度分量,将高度分量与第二映射比例的乘积作为待估算食物的高度值。
例如,在一些示例中,由于第二食物图像的拍摄方向不一定是完全平行于待估算食物的支撑面,通过列像素个数中的最大值得到的高度分量与实际高度可能存在较大误差,因而可以通过待估算食物区域两侧边缘的高度分量获取待估算食物的高度值,此时由于拍摄时角度的变化对于圆柱体两侧边缘长度的影响较小,因而获得高度值更精确。例如,将每一列像素点对应的像素个数按照获取顺序排列,以得到列像素个数序列;提取列像素个数序列中前P个元素和最后M个元素,计算P个元素与M个元素的平均值,以作为待估算食物的高度分量;将高度分量与第二映射比例的乘积作为待估算食物的高度值。
例如,在另一些实施例中,拍摄得到垂直于待估算食物的支撑面方向的握拳状态下手部和待估算食物并排放置的正上方图像,该正上方图像包括参考图像和食物图像,食物体积计算方法中的步骤S130可以包括:针对正上方图像中的参考图像,获取参考图像中握拳状态下的手部的最小外接矩形,通过深度学习模型检测得到最小外接矩形的长度和宽度,进而计算得到最小外接矩形的面积,将该最小外接矩形的面积的平方根作为握拳状态下的手部的直径,从而根据圆形面积计算公式得到握拳状态下的手部的面积,以得到立体参考物的参考区域尺寸信息;根据立体参考物的参考区域尺寸信息以及立体参考物的实际尺寸信息,得到第二映射比例,具体过程如步骤S1302所述,这里不再赘述;针对食物图像,所提取的待估算食物所占据的待估算食物区域为圆形,获取待估算食物区域的像素面积以得到食物区域尺寸信息,从而根据第二映射比例和食物区域尺寸信息得到食物尺寸信息,也即待估算食物的真实面积,具体过程如步骤S1303和S1304所述,这里不再赘述;根据一幅食物图像通过深度学习模型确定待估算食物的容器形状,例如,获取容器形状为碟、碗等;根据待估算食物的容器形状以及食物尺寸信息,获得所述待估算食物的体积信息,例如,检测容器形状为碟,根据待估算食物的真实面积计算得到待估算食物的真实直径,将待估算食物的真实直径的例如十分之一作为待估算食物的高度,以圆柱体计算公式计算得到待估算食物的体积,例如,检测容器形状为碗,由于碗的形状可近似为半球形,则根据待估算食物的真实面积可计算得到待估算食物的真实半径,进而根据半球体积计算公式即可得到待估算食物的体积信息。
上述实施例公开的采用以手部作为立体参考物的食物体积计算方法,使得本公开至少一实施例提供的食物体积计算方式的应用场景更加广泛,只需手部即可完成食物体积 计算,使用灵活,操作简便;此外,由于立体参考物形状近似为球形,因此食物体积计算精度不受拍摄方向的影响,降低操作难度。
下面结合附图详细介绍本公开实施例中涉及的手部检测模型以及根据手部握拳模型获得握拳区域的方法,但是本公开的实施例不限于下述具体的方法。
若立体参考物图像不仅包括近似球形的握拳状态下的手部,还包括手臂部分,则需要通过手部检测模型获取手部握拳图像,提取手部握拳图像中的握拳区域,获取握拳区域的像素面积。以下以包括手部和手臂部分的立体参考物图像为例具体说明手部检测模型的实现过程,需要说明的是,本公开不限于对立体参考物图像进行手部模型检测,也可以对包括手部图像的任意待处理图像通过手部检测模型获取手部图像,本公开对此不作限制。
目前,一般图像都是基于RGB(红绿蓝)颜色空间的,在RGB颜色空间里人体图像的肤色受亮度影响相当大,所以肤色点很难从非肤色点中分离出来,也就是说,在RGB颜色空间处理过的人脸图像,肤色点是离散的点,中间嵌有很多非肤色点,这为肤色区域标定(例如人脸标定、眼睛标定等)带来了难题。人脸检测中常常用到YCrCb颜色空间,因为把RGB颜色空间转为YCrCb颜色空间可以忽略亮度的影响,而且由于YCrCb颜色空间受亮度影响很小,肤色会产生很好的类聚,从而可以把三维的颜色空间映射为二维的CrCb平面,使得肤色点形成一定的形状,以达到根据肤色识别人体图像的目的。
YCrCb颜色空间中的“Y”表示明亮度,也就是像素点的灰阶值;而“Cr”和“Cb”表示的则是色度,作用是描述影像色彩及饱和度,用于指定像素点的颜色,其中,“Cr”反映了RGB输入信号中的红色部分与RGB信号亮度值之间的差异,也即像素点的红色色度分量,而“Cb”反映的是RGB输入信号中的蓝色部分与RGB信号亮度值之间的差异,也即像素点的蓝色色度分量。RGB信号亮度值通过将RGB输入信号的特定部分叠加到一起得到。也就是说,YCrCb颜色空间就是一个单独把亮度分离开来的颜色模型,使用该颜色模型可以使得肤色点不会受到光线亮度影响而导致难以分离。
例如,通过手部检测模型对立体参考物图像处理以获取手部握拳图像时,首先将立体参考物图像映射至YCbCr颜色空间,以得到映射后图像;接着,将映射后图像在CbCr平面进行投影,以得到肤色样本图像,该肤色样本图像包括对应于立体参考物图像像素点的肤色样本点;最后,遍历该肤色样本图像,在遍历肤色样本图像过程中,若肤色样本点位于皮肤像素点椭圆边界及椭圆内,将肤色样本点对应的立体参考物图像像素点的像素值标记为第二值(例如0),若肤色样本点不位于皮肤像素点椭圆边界及椭圆内,将肤色样本点对应的立体参考物图像像素点的像素值标记为第一值(例如255),以得到立体参考物图像对应的掩膜图像,该掩膜图像为手部握拳图像。例如,图4A为手部握拳图像示意图,其中黑色区域为处于握拳状态下手部及手臂部分对应的掩膜图像。
例如,获取手部握拳图像后,提取握拳区域包括如下操作:首先,将手部握拳图像中像素点的灰阶值为第二值的像素点作为手部区域,例如,将手部握拳图像中像素点的灰阶值为0灰阶的像素点作为手部区域,也即图4A中黑色区域;接着,在手部区域的列 检测方向上检测手部区域的第一侧边缘,计算手部区域的第一侧边缘上每间隔M个像素点之间的斜率,以得到多个斜率值;最后,根据多个斜率值的数值关系,确定握拳区域的边缘像素点的位置,得到手部握拳图像中的握拳区域。
例如,列检测方向为朝向手腕方向,第一侧边缘为手部大拇指所在边缘,所得到的多个斜率值共有N个,第m个斜率值对应于像素点Dm+1和Dm。例如,在获取N个斜率值后,将N个斜率值按照列检测方向排序,若第m+1个斜率值第一次大于第m个斜率值,则均对应于第m个斜率值和第m+1个斜率值的像素点Dm+1所在位置为握拳区域的边缘像素点的位置,从而根据边缘像素点位置得到手部握拳图像中的握拳区域。
图4B为本公开至少一实施例提供的提取图4A所示的手部握拳图像中的握拳区域过程示意图,其中,像素点D1、像素点D2以及像素点D3表示手部握拳图像中的3个彼此间隔10个像素点的待处理像素点,直线L1为像素点D1和像素点D2的连线,其斜率表示为k1,直线L2为像素点D2和像素点D3的连线,其斜率表示为k2,图中阴影区域表示提取的握拳区域,黑色线条所形成的手部握拳图像为手部区域。
如图4B所示,列检测方向为从上至下方向,第一侧边缘为图中手部区域的左侧边缘。对于手部区域的左侧边缘,计算左侧边缘上每间隔10个像素点之间的斜率,以得到多个斜率值,计算得到像素点D1和像素点D2之间的斜率值为k1,像素点D2和像素点D3之间的斜率值为k2,若将多个斜率值按列检测方向排列,斜率值k2第一次大于斜率值k1,则像素点D2为握拳区域的边缘像素点,从而得到图4B中阴影所示的握拳区域。
例如,当拍摄食物时所获取的图像中包含了多种食物时,例如多个容器分别都盛放了各自的食物,可以先通过食物识别、图片分割等技术,将多种食物的区域分别划分出来,再分别计算每种食物的体积和热量。
本公开至少一实施例还提供一种食物热量计算方法,包括:获取待估算食物的种类;采用上述实施例获取待估算食物的体积;根据待估算食物的种类确定待估算食物的密度,基于待估算食物的密度和待估算食物的体积得到待估算食物的质量;根据待估算食物的种类确定待估算食物的热量密度,基于待估算食物的热量密度和待估算食物的质量得到待估算食物的热量。
本公开至少一实施例还提供一种电子装置,图5A为本公开至少一实施例提供的一种电子装置的示意性框图。
该电子装置包括食物体积计算单元,该食物体积计算单元配置为执行本公开至少一个实施例提供的食物体积计算方法以获取待估算食物的体积信息。该电子装置还可以进一步包括食物热量计算单元,该食物热量计算单元获取待估算食物的种类,根据待估算食物的种类确定待估算食物的密度,基于待估算食物的密度和待估算食物的体积信息得到待估算食物的质量,再根据待估算食物的种类确定待估算食物的热量密度,由此基于待估算食物的热量密度和待估算食物的质量得到待估算食物的热量。该电子装置在不同的示例中可以实现为服务器或终端设备。
例如,当该电子装置实现为服务器时,则其他终端设备(例如手机等)例如通过通 信网络等与该服务器通信,例如,向服务器提供与立体参考物和待估算食物相应的参考图像和食物图像,或者从服务器接收该服务器通过上述食物体积计算单元计算得到的待估算食物的体积信息,或者进一步从服务器接受该服务器通过上述食物热量计算单元得到的待估算食物的热量。对应地,为了与其他终端设备进行通信,除了上述食物体积计算单元和/或食物热量计算单元,该服务器还可以进一步包括图像接收单元,以从通信的终端设备获取与立体参考物和待估算食物相应的参考图像和食物图像,以及进一步包括计算结果输出单元,以向通信的终端设备输出计算得到的待估算食物的体积信息和/或待估算食物的热量。例如,其他终端设备通过自身具有的图像采集单元(例如摄像头)拍摄与立体参考物和待估算食物相应的参考图像和食物图像,或者,其他设备终端在获得前述计算结果之后,例如通过自身具有的显示屏、麦克风、打印输出单元等以显示、语音、打印等方式提供给用户。例如,当该电子装置实现为终端时,如图所示,电子装置500包括图像获取单元501、食物体积计算单元502、食物热量计算单元503和输出单元504。例如,该电子装置500可以是移动终端,该移动终端可以是手机、平板电脑、智能手表等设备。
图像获取单元501配置为获取与立体参考物和待估算食物相应的参考图像和食物图像。例如,该图像获取单元501为移动终端的摄像头,该食物体积计算方法中的参考图像和食物图像可以通过移动终端的摄像头进行采集。
食物体积计算单元502配置为执行本公开至少一个实施例提供的食物体积计算方法以获取待估算食物的体积信息。
食物热量计算单元503配置为:获取待估算食物的种类;根据待估算食物的种类确定待估算食物的密度,基于待估算食物的密度和待估算食物的体积信息得到待估算食物的质量;根据待估算食物的种类确定待估算食物的热量密度,基于待估算食物的热量密度和待估算食物的质量得到待估算食物的热量。
输出单元504配置为显示或输出待估算食物的体积信息和/或热量信息。例如,该输出单元可以为显示屏、麦克风、打印输出单元等,以显示、语音或打印等方式将待估算食物的体积信息和/或热量信息提供给用户,或者输出单元可以将待估算食物的体积信息和/或热量信息再输出至其他终端以显示或打印等。
上述的食物体积计算单元、食物热量计算单元、图像接收单元、计算结果输出单元等可以通过硬件、软件、固件或三者的任意组合实现。
图5B至图5F示出了采用本公开至少一实施例提供的食物体积计算方法以及食物热量计算方法的产品界面图,例如,本公开至少一实施例提供的食物体积计算方法以及食物热量计算方法应用于电子装置500,例如,电子装置500为服务器,该产品界面图为与电子装置500相配合使用的终端设备的界面图,例如,该终端设备为手机、平板电脑、智能手表等设备。
例如,通过终端设备的摄像头拍摄与立体参考物和待估算食物相应的参考图像和食物图像,终端设备将该参考图像和食物图像通过通信网络发送至服务器的图像接收单元, 服务器根据接收的食物图像和参考图像通过食物体积计算单元和食物热量计算单元进行食物体积和食物热量的计算,最终通过计算结果输出单元将计算结果发送至终端设备并显示。
图5B为终端设备的主界面图,如图所示,点击菜单栏中间的“AI识别”按钮,即可拍摄参考图像以及食物图像,以根据前述实施例计算得到待估算食物的体积和待估算食物的热量;点击菜单栏右下角的“我的”按钮,可以录入用户的握拳状态下的手部的尺寸信息,并将该尺寸信息存入个人数据库。
例如,录入用户的握拳状态下的手部的尺寸信息时,如图5C所示,用户根据提示录入置于A4纸前拍摄的握拳状态下的手部的照片,并且手腕与A4纸下沿重合,从而获取握拳状态下的手部的实际尺寸信息。
例如,获取待估算食物的体积和热量时,点击“AI识别”按钮后,如图5D及图5E所示,根据提示拍摄包含握拳状态下的手部以及待估算食物的图像,从而获取参考图像和食物图像,随后终端设备将参考图像和食物图像上传至服务器进行待估算食物的体积和待估算食物的热量的计算,并通过服务器的计算结果输出单元获得待估算食物的体积和待估算食物的热量。
获得待估算食物的体积和待估算食物的热量后,如图5F所示,移动终端展示服务器的计算结果,包括待估算食物的名称、待估算食物热量等信息。
例如,待估算食物的体积和待估算食物的热量的计算过程也可以在移动终端实现(不需要服务器)。或者,一部分计算过程设置在移送终端,而另一部分计算过程在服务器执行。
本公开至少一实施例还提供一种电子设备,图6为本公开至少一实施例提供的一种电子设备的示意性框图。
例如,如图6所示,该电子设备包括处理器1001、通信接口1002、存储器1003和通信总线1004。处理器1001、通信接口1002、存储器1003通过通信总线1004实现相互通信,处理器1001、通信接口1002、存储器1003等组件之间也可以通过网络连接进行通信。本公开对网络的类型和功能在此不作限制。
例如,在至少一个示例中,该电子设备还包括图像拍摄装置,例如,至少一个摄像头,由此可以获取所需的各种图像。
例如,存储器1003非瞬时性地存储有计算机可执行指令。处理器1001用于运行计算机可执行指令时,计算机可执行指令被处理器1001运行时实现根据上述任一实施例所述的食物体积计算方法。关于该食物体积计算方法的各个步骤的具体实现以及相关解释内容可以参见上述食物体积计算方法的实施例,在此不作赘述。
例如,处理器1001执行存储器1003上所存储的程序而实现食物体积计算方法的实现方式,与前述食物体积计算方法的实施例部分所提及的实现方式相同,这里也不再赘述。
例如,通信总线1004可以是外设部件互连标准(PCI)总线或扩展工业标准结构 (EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
例如,通信接口1002用于实现电子设备与其他设备之间的通信。
例如,处理器1001和存储器1003可以设置在服务器端(或云端)。
例如,处理器1001可以控制电子设备中的其它组件以执行期望的功能。处理器1001可以是中央处理器(CPU)、网络处理器(NP)等,还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器1003可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可执行指令,处理器1001可以运行所述计算机可执行指令,以实现电子设备的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
例如,该电子设备可以是服务器,通过与终端设备的数据交互将通过本公开至少一实施例提供的食物体积计算方法得到的食物体积、通过本公开至少一实施例提供的食物热量计算方法得到的食物热量发送至终端设备进行显示。
例如,服务器接受终端设备发送的图片等信息,并执行食物体积的计算过程,将计算结果发送给终端设备进行显示。
例如,关于电子设备执行食物体积计算的过程的详细说明可以参考食物体积计算方法的实施例中的相关描述,重复之处不再赘述。
图7为本公开至少一实施例提供的一种计算机可读存储介质的示意图。例如,如图7所示,在存储介质1100上可以非暂时性地存储一个或多个计算机可执行指令1101。例如,当计算机可执行指令1101由处理器执行时可以执行根据上文所述的食物体积计算方法中的一个或多个步骤。
例如,该存储介质1100可以应用于上述电子设备和/或食物体积计算装置1400中。例如,存储介质1100可以包括电子设备中的存储器1003。
例如,关于存储介质1100的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
图8示出了为本公开至少一实施例提供的一种硬件环境的示意图。本公开提供的电子设备可以应用在互联网系统。
利用图8中提供的计算机系统可以实现本公开中涉及的食物体积计算装置和/或电子设备的功能。这类计算机系统可以包括个人电脑、笔记本电脑、平板电脑、手机、个人数码助理、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备或可穿戴设 备。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机设备可以是一个通用目的的计算机设备,或一个有特定目的的计算机设备。两种计算机设备都可以被用于实现本实施例中的食物体积计算装置和/或电子设备。计算机系统可以包括实施当前描述的实现食物体积计算所需要的信息的任何组件。例如,计算机系统能够被计算机设备通过其硬件设备、软件程序、固件以及它们的组合所实现。为了方便起见,图8中只绘制了一台计算机设备,但是本实施例所描述的实现食物体积计算所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散计算机系统的处理负荷。
如图8所示,计算机系统可以包括通信端口250,与之相连的是实现数据通信的网络,例如,计算机系统可以通过通信端口250发送和接收信息及数据,即通信端口250可以实现计算机系统与其他电子设备进行无线或有线通信以交换数据。计算机系统还可以包括一个处理器组220(即上面描述的处理器),用于执行程序指令。处理器组220可以由至少一个处理器(例如,CPU)组成。计算机系统可以包括一个内部通信总线210。计算机系统可以包括不同形式的程序储存单元以及数据储存单元(即上面描述的存储器或存储介质),例如硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)240,能够用于存储计算机处理和/或通信使用的各种数据文件,以及处理器组220所执行的可能的程序指令。计算机系统还可以包括一个输入/输出组件260,输入/输出组件260用于实现计算机系统与其他组件(例如,用户界面280等)之间的输入/输出数据流。
通常,以下装置可以连接输入/输出组件260:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信接口。
虽然图8示出了具有各种装置的计算机系统,但应理解的是,并不要求计算机系统具备所有示出的装置,可以替代地,计算机系统可以具备更多或更少的装置。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (31)
- 一种食物体积计算方法,包括:获取立体参考物的实际尺寸信息;获取与所述立体参考物和待估算食物相应的参考图像和食物图像;根据所述立体参考物的实际尺寸信息、基于所述参考图像获取的参考区域尺寸信息以及基于所述食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息。
- 根据权利要求1所述的方法,其中,所述获取与所述立体参考物和待估算食物相应的参考图像和食物图像,包括:获取所述立体参考物与所述待估算食物以同一种拍摄方式获取的一幅参考图像和一幅食物图像,其中,根据所述立体参考物的实际尺寸信息、基于所述一幅参考图像获取的参考区域尺寸信息以及基于所述一幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息;或者获取所述立体参考物与所述待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像,其中,根据所述立体参考物的实际尺寸信息、基于所述多幅参考图像获取的参考区域尺寸信息以及基于所述多幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息;其中,所述同一种拍摄方式或者所述多种拍摄方式中的每个至少包括拍摄距离和拍摄方向。
- 根据权利要求2所述的方法,其中,所述多种拍摄方式包括第一拍摄方式和第二拍摄方式,所述第一拍摄方式的拍摄方向和所述第二拍摄方式的拍摄方向彼此交叉;所述多幅参考图像包括分别使用所述第一拍摄方式和所述第二拍摄方式获取的第一参考图像和第二参考图像;所述多幅食物图像包括分别使用所述第一拍摄方式和所述第二拍摄方式获取的第一食物图像和第二食物图像。
- 根据权利要求3所述的方法,其中,所述多种拍摄方式中的每个还包括放置作为被拍摄对象的所述立体参考物或所述待估算食物的支撑面,所述第一拍摄方式的拍摄方向和所述第二拍摄方式的拍摄方向彼此垂直,并且所述第一拍摄方式的拍摄方向垂直于所述第一拍摄方式的支撑面,所述第二拍摄方式的拍摄方向平行于所述第二拍摄方式的支撑面。
- 根据权利要求2-4任一所述的方法,其中,以同一种拍摄方式相应地成对获取的参考图像与食物图像为彼此相应的一对图像,或者以同一种拍摄方式相应地成对获取的参考图像与食物图像属于同一幅图像的组成部分。
- 根据权利要求1-4任一所述的方法,其中,所述获取立体参考物的实际尺寸信息,包括:获取所述立体参考物与可获取参考尺寸的第一参考物并列的多幅立体参考物图像,根据所述多幅立体参考物图像以及所述参考尺寸获取所述立体参考物的实际尺寸信息。
- 根据权利要求6所述的方法,其中,所述根据所述多幅立体参考物图像以及所述参考尺寸获取所述立体参考物的实际尺寸信息,包括:对于每一幅所述立体参考图像,获取在所述立体参考物图像中所述参考尺寸对应的第一像素数量,获取在所述立体参考物图像中所述立体参考物的至少一个维度上的第二像素数量,根据所述第一像素数量和所述第二像素数量,获得在所述立体参考物图像中所述立体参考物在所述至少一个维度上的计算尺寸,基于从所述多幅立体参考物图像获取的多个计算尺寸获取所述立体参考物的实际尺寸信息。
- 根据权利要求1-4任一所述的方法,其中,所述获取立体参考物的实际尺寸信息,包括:获取所述立体参考物放置于可计算参考面积的第二参考物一侧的立体参考物图像;根据所述立体参考物图像以及所述参考面积获取所述立体参考物的实际尺寸信息,其中,所述立体参考物图像包括所述第二参考物中用于计算参考面积的信息。
- 根据权利要求8所述的方法,其中,所述根据所述立体参考物图像以及所述参考面积获取所述立体参考物的实际尺寸信息,包括:获取所述立体参考物图像中所述第二参考物的像素面积;基于所述第二参考物的像素面积以及所述参考面积,得到第一映射比例;获取所述立体参考物图像中的所述立体参考物所占据的区域的像素面积;根据所述第一映射比例及所述立体参考物所占据的区域的像素面积,获取所述立体参考物的体积,以得到所述立体参考物的实际尺寸信息。
- 根据权利要求9所述的方法,其中,所述立体参考物图像中对应于所述第二参考物的像素点的像素值在第一值范围内,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,包括:将所述立体参考物图像中像素点的像素值为不满足所述第一值范围的像素点作为所述立体参考物所占据的区域,以获取所述立体参考物所占据的区域的像素面积;或者,根据深度学习模型提取所述立体参考物所占据的区域,获取所述立体参考物所占据的区域的像素面积。
- 根据权利要求9所述的方法,其中,所述获取所述立体参考物图像中所述第二参考物的像素面积,包括:获取所述立体参考物图像中所述第二参考物的最小外接矩形以及所述最小外接矩形的像素面积,将所述最小外接矩形的像素面积作为所述第二参考物的像素面积,其中, 所述立体参考物图像中对应于所述第二参考物的像素点的像素值在第一值范围内,所述第二参考物的最小外接矩形根据所述像素值在所述第一值范围内的像素点的位置获取,并且,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,包括:将所述最小外接矩形中像素点的像素值为不满足所述第一值范围的像素点作为所述立体参考物所占据的区域,以获取所述立体参考物所占据的区域的像素面积。
- 根据权利要求8-11任一项所述的方法,其中,所述第二参考物为具有标准尺寸的单色纸张。
- 根据权利要求9所述的方法,其中,所述立体参考物包括在握拳状态下的手部且以球形的方式被处理,所述获取所述立体参考物图像中的立体参考物所占据的区域的像素面积,包括:响应于所述立体参考物图像中所述手部中的手腕部分未抵在所述第二参考物的边缘,根据手部检测模型获取手部握拳图像,提取所述手部握拳图像中的握拳区域,获取所述握拳区域的像素面积,以作为所述立体参考物所占据的区域的像素面积;以及响应于所述立体参考物图像中所述手部中的手腕部分抵在所述第二参考物的边缘,将所述立体参考物图像中像素点的像素值为不满足所述第一值范围的像素点作为握拳区域,获取所述握拳区域的像素面积,以作为所述立体参考物所占据的区域的像素面积。
- 根据权利要求2-4任一所述的方法,其中,所述获取立体参考物与待估算食物以多种拍摄方式相应地成对获取的多幅参考图像和多幅食物图像,包括:连续拍摄所述待估算食物和所述立体参考物同时位于同一支撑面的多幅图像,提取所述多幅图像中的多幅关键图像,以得到所述多幅参考图像和所述多幅食物图像,其中,所述关键图像包括相应的一对参考图像和食物图像。
- 根据权利要求14所述的方法,其中,所述连续拍摄所述待估算食物和所述立体参考物同时位于同一支撑面的多幅图像,提取所述多幅图像中的多幅关键图像,包括:针对多幅图像中的每幅图像,提取所述待估算食物所占据的待估算食物区域,获取所述每幅图像对应的待估算食物区域的像素面积;根据所述每幅图像对应的待估算食物区域的像素面积,提取所述多幅图像中所述待估算食物区域的像素面积的相对变化大于预设阈值的图像,作为所述多幅关键图像之一,其中,所述多幅关键图像至少包括第一关键图像和第二关键图像,所述第一关键图像包括所述第一食物图像和所述第一参考图像,所述第二关键图像包括所述第二食物图像和所述第二参考图像。
- 根据权利要求3或4所述的方法,其中,所述根据所述立体参考物的实际尺寸信息、基于所述多幅参考图像获取的参考区域尺寸信息以及基于所述多幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息,包括:获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息;根据所述立体参考物的参考区域尺寸信息以及所述立体参考物的实际尺寸信息,得到第二映射比例;针对所述第一食物图像,提取所述待估算食物所占据的待估算食物区域,得到所述食物区域尺寸信息;根据所述食物区域尺寸信息以及所述第二映射比例,得到食物尺寸信息;针对所述多幅食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述多幅食物图像中每幅图像对应的待估算食物区域确定所述待估算食物的容器形状;根据所述待估算食物的容器形状以及所述食物尺寸信息,获得所述待估算食物的体积信息。
- 根据权利要求16所述的方法,其中,所述根据所述立体参考物的实际尺寸信息、所述参考区域尺寸信息以及所述食物区域尺寸信息,获得所述待估算食物的体积信息,还包括:针对所述第二食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述待估算食物区域以及所述第二映射比例,确定所述待估算食物的高度值;并且根据所述待估算食物的容器形状、所述待估算食物的高度值以及所述食物尺寸信息,获得所述待估算食物的体积信息。
- 根据权利要求17所述的方法,其中,所述根据所述待估算食物区域以及所述第二映射比例,确定所述待估算食物的高度值,包括:获取所述待估算食物区域中,每一列像素点对应的像素个数;根据所述每一列像素点对应的像素个数,确定所述待估算食物的高度分量;根据所述高度分量以及所述第二映射比例,确定所述待估算食物的高度值。
- 根据权利要求16所述的方法,其中,所述获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息,包括:对所述每幅参考图像提取所述立体参考物所占据的区域,获取所述每幅参考图像对应的立体参考物所占据的区域的像素面积;对全部获取的所述立体参考物所占据的区域的像素面积计算平均值,以得到所述立体参考物的参考区域尺寸信息。
- 根据权利要求16所述的方法,其中,所述立体参考物包括握拳状态下的手部,所述获取所述多幅参考图像中每幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息,包括:针对所述每幅参考图像,根据手部检测模型获取手部握拳图像,提取所述手部握拳图像中的握拳区域,获取所述握拳区域的像素面积;对全部获取的所述握拳区域的像素面积计算平均值,以得到所述立体参考物的 参考区域尺寸信息。
- 根据权利要求16所述的方法,其中,所述针对所述多幅食物图像,提取所述待估算食物所占据的待估算食物区域,根据所述多幅食物图像中每幅图像对应的待估算食物区域确定所述待估算食物的容器形状,包括:提取所述多幅食物图像中与标准容器集合中第q个标准容器所对应方向相同的图像,以得到对应于所述第q个标准容器的至少一个待估算容器图像,针对每个所述待估算容器图像,提取所述待估算食物所占据的待估算食物区域;分别计算所述待估算容器图像的待估算食物区域与对应方向的所述第q个标准容器的形状边缘的欧式距离,以得到至少一个欧式距离值;将所述第q个标准容器的全部方向对应的欧式距离值叠加预设每个方向对应的权重值求和,以得到对应于所述第q个标准容器的欧式距离和值;检测对应于标准容器集合的欧式距离和值集合中的最小值,将所述最小值对应的标准容器作为所述待估算食物的容器形状,其中,所述q为正整数。
- 根据权利要求2所述的方法,其中,所述待估算食物放置于容器中,获取所述待估算食物的已知的容器形状或者根据所述一幅食物图像确定所述待估算食物的容器形状,所述根据所述立体参考物的实际尺寸信息、基于所述一幅参考图像获取的参考区域尺寸信息以及基于所述一幅食物图像获取的食物区域尺寸信息,获得所述待估算食物的体积信息,包括:获取所述一幅参考图像的立体参考物所占据的区域的像素面积,以得到所述立体参考物的参考区域尺寸信息;根据所述立体参考物的参考区域尺寸信息以及所述立体参考物的实际尺寸信息,得到第二映射比例;针对所述一幅食物图像,提取所述待估算食物所占据的待估算食物区域,得到所述食物区域尺寸信息;根据所述食物区域尺寸信息以及所述第二映射比例,得到食物尺寸信息;根据所述容器形状以及所述食物尺寸信息,获得所述待估算食物的体积信息。
- 根据权利要求16或22所述的方法,其中,所述确定所述待估算食物的容器形状,包括:获取标准容器识别模型,根据所述多幅食物图像以及所述标准容器识别模型,确定所述待估算食物的容器形状;或者获取标准容器识别模型,根据所述一幅食物图像以及所述标准容器识别模型,确定所述待估算食物的容器形状。
- 根据权利要求15-23任一项所述的方法,其中,对于包括所述待估算食物的待处理图像,所述提取所述待估算食物所占据的待估算食物区域,包括:将所述待处理图像划分为多个区域集,对每个所述区域集进行相似度计算,以获取每个所述区域集的相似度值;合并相似度值满足预设阈值的区域集,以得到多个合并区域;将所述合并区域中像素面积最大的闭合区域作为所述待处理图像的待估算食物区域;其中,所述相似度计算包括颜色相似度计算、纹理相似度计算、尺寸相似度计算、交叠相似度计算的其中一种或多种组合。
- 根据权利要求15-23任一项所述的方法,其中,对于包括所述待估算食物的待处理图像,所述提取所述待估算食物所占据的待估算食物区域,包括:基于深度卷积网络模型对所述待处理图像进行边缘识别,以获取所述待处理图像中所述待估算食物的待估算食物区域。
- 一种食物热量计算方法,包括:获取待估算食物的种类;根据权利要求1-25中任一项所述的食物体积计算方法获取所述待估算食物的体积;根据所述待估算食物的种类确定所述待估算食物的密度,基于所述待估算食物的密度和所述待估算食物的体积得到所述待估算食物的质量;根据所述待估算食物的种类确定所述待估算食物的热量密度,基于所述待估算食物的热量密度和所述待估算食物的质量得到所述待估算食物的热量。
- 一种电子装置,包括:食物体积计算单元,所述食物体积计算单元配置为执行权利要求1-25中任一项所述的食物体积计算方法以获取所述待估算食物的体积信息。
- 根据权利要求27所述的电子装置,还包括:食物热量计算单元,配置为:获取所述待估算食物的种类;根据所述待估算食物的种类确定所述待估算食物的密度,基于所述待估算食物的密度和所述待估算食物的体积信息得到所述待估算食物的质量;根据所述待估算食物的种类确定所述待估算食物的热量密度,基于所述待估算食物的热量密度和所述待估算食物的质量得到所述待估算食物的热量。
- 根据权利要求28所述的电子装置,还包括:图像采集单元,配置为获取与所述立体参考物和所述待估算食物相应的参考图像和食物图像;输出单元,配置为显示或输出所述待估算食物的体积信息和/或热量信息。
- 一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-25中任一项 所述的食物体积计算方法或根据权利要求26所述的食物热量计算方法。
- 一种存储介质,其中,所述存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-25中任一项所述的食物体积计算方法或根据权利要求26所述的食物热量计算方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/426,894 US20220319665A1 (en) | 2020-10-15 | 2020-10-15 | Calculation Method of Food Volume and Food Calories, Electronic Apparatus, Electronic Device and Storage Medium |
CN202080002340.1A CN114641830A (zh) | 2020-10-15 | 2020-10-15 | 食物体积、热量计算方法、电子装置、电子设备和存储介质 |
PCT/CN2020/121175 WO2022077348A1 (zh) | 2020-10-15 | 2020-10-15 | 食物体积、热量计算方法、电子装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/121175 WO2022077348A1 (zh) | 2020-10-15 | 2020-10-15 | 食物体积、热量计算方法、电子装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022077348A1 true WO2022077348A1 (zh) | 2022-04-21 |
Family
ID=81207473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/121175 WO2022077348A1 (zh) | 2020-10-15 | 2020-10-15 | 食物体积、热量计算方法、电子装置、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220319665A1 (zh) |
CN (1) | CN114641830A (zh) |
WO (1) | WO2022077348A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115759155B (zh) * | 2022-11-23 | 2024-04-23 | 杭州乐舜信息科技有限公司 | 一种基于校园团餐机的计费方法与装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110077471A1 (en) * | 2009-03-20 | 2011-03-31 | Brian Spencer King | Treatment and prevention of overweight and obesity by altering visual perception of food during consumption |
CN104778374A (zh) * | 2015-05-04 | 2015-07-15 | 哈尔滨理工大学 | 一种基于图像处理识别方法的自动膳食评估装置 |
CN105865326A (zh) * | 2015-01-21 | 2016-08-17 | 成都理想境界科技有限公司 | 实物尺寸测量方法及图像数据库数据采集方法 |
CN107958696A (zh) * | 2017-11-15 | 2018-04-24 | 四川大学 | 一种用于标注中小学生膳食专用食物图谱系统及标注方法 |
CN108573503A (zh) * | 2018-04-12 | 2018-09-25 | 徐州乐健天合健康科技有限公司 | 一种基于拍照的菜量测算方法 |
CN109509535A (zh) * | 2018-10-08 | 2019-03-22 | 北京健康有益科技有限公司 | 食物体积的获取方法、食物热量的获取方法、电子设备 |
CN111127545A (zh) * | 2020-01-19 | 2020-05-08 | 南京医科大学 | 基于三维参照物和膳食图像分析的膳食调查及评估方法 |
-
2020
- 2020-10-15 US US17/426,894 patent/US20220319665A1/en active Pending
- 2020-10-15 CN CN202080002340.1A patent/CN114641830A/zh active Pending
- 2020-10-15 WO PCT/CN2020/121175 patent/WO2022077348A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110077471A1 (en) * | 2009-03-20 | 2011-03-31 | Brian Spencer King | Treatment and prevention of overweight and obesity by altering visual perception of food during consumption |
CN105865326A (zh) * | 2015-01-21 | 2016-08-17 | 成都理想境界科技有限公司 | 实物尺寸测量方法及图像数据库数据采集方法 |
CN104778374A (zh) * | 2015-05-04 | 2015-07-15 | 哈尔滨理工大学 | 一种基于图像处理识别方法的自动膳食评估装置 |
CN107958696A (zh) * | 2017-11-15 | 2018-04-24 | 四川大学 | 一种用于标注中小学生膳食专用食物图谱系统及标注方法 |
CN108573503A (zh) * | 2018-04-12 | 2018-09-25 | 徐州乐健天合健康科技有限公司 | 一种基于拍照的菜量测算方法 |
CN109509535A (zh) * | 2018-10-08 | 2019-03-22 | 北京健康有益科技有限公司 | 食物体积的获取方法、食物热量的获取方法、电子设备 |
CN111127545A (zh) * | 2020-01-19 | 2020-05-08 | 南京医科大学 | 基于三维参照物和膳食图像分析的膳食调查及评估方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220319665A1 (en) | 2022-10-06 |
CN114641830A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11222399B2 (en) | Image cropping suggestion using multiple saliency maps | |
JP7413400B2 (ja) | 肌質測定方法、肌質等級分類方法、肌質測定装置、電子機器及び記憶媒体 | |
WO2017092431A1 (zh) | 基于肤色的人手检测方法及装置 | |
WO2020151489A1 (zh) | 基于面部识别的活体检测的方法、电子设备和存储介质 | |
US9454712B2 (en) | Saliency map computation | |
US20120135384A1 (en) | Portable terminal, calorie estimation method, and calorie estimation program | |
JP5778967B2 (ja) | 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム | |
US20200410723A1 (en) | Image Synthesis Method And Apparatus | |
WO2018049801A1 (zh) | 基于深度图的启发式手指检测方法 | |
WO2016033967A1 (zh) | 对齐图像的方法和装置 | |
US9607394B2 (en) | Information processing method and electronic device | |
US20150146943A1 (en) | Method of recognizing contactless fingerprint and electronic device for performing the same | |
WO2019205945A1 (zh) | 确定广告插入位置的方法、计算机设备和存储介质 | |
JP6279837B2 (ja) | 画像処理装置及びプログラム | |
WO2017143852A1 (zh) | 一种图片处理方法、装置及电子设备 | |
CN108665472A (zh) | 点云分割的方法和设备 | |
CN108647264A (zh) | 一种基于支持向量机的图像自动标注方法及装置 | |
WO2022077348A1 (zh) | 食物体积、热量计算方法、电子装置、电子设备和存储介质 | |
WO2017113850A1 (zh) | 获取立体片源视差参数的方法及装置 | |
CN110378304A (zh) | 皮肤状态检测方法、装置、设备及存储介质 | |
CN111182207B (zh) | 图像拍摄方法、装置、存储介质及电子设备 | |
CN110177216A (zh) | 图像处理方法、装置、移动终端以及存储介质 | |
CN110519509A (zh) | 构图评价方法、摄影方法、装置、电子设备、存储介质 | |
WO2022266878A1 (zh) | 景别确定方法、装置及计算机可读存储介质 | |
US20220392252A1 (en) | Facial Skin Detection Method and Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20957127 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20957127 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 19.01.2024) |