CN115239789B - 用于确定液体体积的方法及装置、存储介质、终端 - Google Patents
用于确定液体体积的方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN115239789B CN115239789B CN202210565544.7A CN202210565544A CN115239789B CN 115239789 B CN115239789 B CN 115239789B CN 202210565544 A CN202210565544 A CN 202210565544A CN 115239789 B CN115239789 B CN 115239789B
- Authority
- CN
- China
- Prior art keywords
- liquid
- image
- determining
- volume
- liquid level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Measurement Of Levels Of Liquids Or Fluent Solid Materials (AREA)
Abstract
一种用于确定液体体积的方法及装置、存储介质、终端,所述方法包括:获取待处理图像,所述待处理图像包括所述目标容器的影像;确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积。本发明提供了一种通用性、鲁棒性更好的确定液体体积的方法。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种用于确定液体体积的方法及装置、存储介质、终端。
背景技术
随着图像处理技术的不断发展,图像处理技术被应用于越来越多的生产或生活的场景中,液面识别便是其中一种。具体而言,通过识别容器内液面对应的刻度来确定容器中液体的体积。在识别容器内液面对应的刻度时,为了避免人为识别存在的错误率高和效率低的问题,现有技术中,对容器进行拍摄,然后采用图像处理技术对拍摄得到的图像进行处理,以识别液面对应的刻度。
然而,现有的方案对于拍摄场景的变化十分敏感,例如,容器发生变化或拍摄环境中光线、背景等因素发生变化均会对识别结果造成较大的影响,现有的方案通用性和鲁棒性较差。
因此,亟需一种通用性和鲁棒性更好的确定液体体积的方法。
发明内容
本发明解决的技术问题是提供一种通用性和鲁棒性更好的确定液体体积的方法。
为解决上述技术问题,本发明实施例提供一种用于确定液体体积的方法,其特征在于,所述液体位于目标容器内,所述目标容器的外表面具有刻度线和刻度值,所述目标容器具有透明部,所述液体的液面处于所述透明部的区域,所述方法包括:获取待处理图像,所述待处理图像包括所述目标容器的影像;确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积。
可选的,根据所述液面位置、参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积包括:计算所述液面位置和所述参考位置的距离,以及所述距离和所述单位长度的比值;判断所述液面位置在所述第一方向上是否高于所述参考位置,若是,则将所述比值与所述参考刻度值之和作为所述液体的体积,否则,将所述参考刻度值和所述比值的差值作为所述液体的体积。
可选的,确定单位长度包括:确定第一参考位置和第二参考位置,其中,所述第一参考位置为第一刻度值对应的刻度线在所述第一方向上的坐标,所述第二参考位置为第二刻度值对应的刻度线在所述第一方向上的坐标;根据所述第一参考位置、所述第二参考位置、所述第一刻度值和第二刻度值,确定所述单位长度。
可选的,所述参考位置为所述第一参考位置或者所述第二参考位置。
可选的,所述液面位置位于所述第一参考位置和第二参考位置之间。
可选的,确定液面位置包括:将所述待处理图像输入至液面检测模型,以得到所述待处理图像中的标签框的位置,根据待处理图像中的标签框的位置,确定所述液面位置;其中,所述液面检测模型是采用样本图像对预设模型进行训练得到的;其中,所述样本图像具有预先标注的标签框,所述样本图像中的液面位于所述标签框的预设位置。
可选的,采用下列公式确定所述液体的体积:
其中,s为所述液面位置,y0为所述待处理图像中标签框的左上角在所述第一方向上的坐标,所述待处理图像中的标签框是由所述液面检测模型确定的,w为所述标签框的宽度,m为所述单位长度,n1为第一刻度值,n2为所述第二刻度值,y1为所述第一刻度值对应的刻度线在所述第一方向上的坐标,y2为所述第二刻度值对应的刻度线在所述第一方向上的坐标,V为所述液体的体积。
可选的,采用样本图像对预设模型进行训练之前,所述方法还包括:在所述样本图像中确定增强区域;增大所述增强区域中至少一部分像素点的像素值,以使增大后的像素值大于预设阈值。
可选的,至少一部分的样本图像是采用俯角拍摄的方式拍摄得到的。
本发明还提供一种用于确定液体体积的装置,其特征在于,所述液体位于目标容器内,所述目标容器的外表面具有刻度线和刻度值,所述目标容器具有透明部,所述液体的液面处于所述透明部的区域,所述装置包括:获取模块,用于获取待处理图像,所述待处理图像包括所述目标容器的影像;第一确定模块,用于确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;第二确定模块,用于确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;体积确定模块,用于根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的用于确定液体体积的方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的用于确定液体体积的方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例的方案中,获取待处理图像,待处理图像包含目标容器的影像,然后确定单位长度、液面位置和参考位置,由于单位长度是单位体积的液体在待处理图像中在第一方向上对应的像素点的数量,液面位置是液面在待处理图像中在第一方向上的位置,参考位置是参考刻度值对应的刻度线在待处理图像中在第一方向上的位置,因此,可以根据液面位置和参考位置确定液面和参考刻度值对应的刻度线之间的像素点的数量,进一步结合参考刻度值和单位长度,即可确定液面对应的刻度值,由此可以确定液体体积。在本发明实施例的方案中,通过单位长度来客观地表征液体体积和图像的像素之间的数量关系,既不依赖于容器及其量程,也不依赖于拍摄环境,因此,本发明实施例的方案能够适用于各种不同的容器,也能适用于各种拍摄环境,通用性和鲁棒性较好。
进一步,本发明实施例的方案中,考虑到目标容器具有透明部,在拍摄时容易出现反光的情况,因此,在采用样本图像对预设模型进行训练之前,先在样本图像中确定增强区域,然后增大增强区域中至少一部分像素点的像素值,以使增大后的像素值大于预设阈值。采用这样的方案,可以在训练过程中模拟实际使用中图像出现反光的情况,有利于提高液面检测模型的准确性。
附图说明
图1是本发明实施例中一种用于确定液体体积的方法的流程示意图;
图2是本发明实施例中一种待处理图像的示意图;
图3是本发明实施例中一种用于确定液体体积的装置的结构示意图。
具体实施方式
如背景技术所述,亟需一种通用性和鲁棒性更好的确定液体体积的方法。
现有技术中通常采用以下两种方法确定液体体积:
(1)采用边缘检测算法检测液面在图像中的位置,然后根据液面在图像中的位置估计液体的体积。例如,利用Canny边缘检测算法确定液面位置。然而这样的方案需要对图像进行预处理,例如:平滑、锐化等。其中,需要结合实际拍摄环境进行预处理,不同的拍摄环境导致图像的背景不同,因此需要通过特殊的预处理来确保边缘提取的有效性。
(2)采用卷积神经网络识别液面对应的刻度。具体而言,将图像输入至预先训练好的神经网络模型,模型直接输出液面对应的刻度值。虽然这样的方案降低了图像预处理的要求,但当容器、量程等发生变化时,需要重新构建样本数据集并重新训练模型。
综上,现有技术的通用性和鲁棒性仍然有待提高。
为解决上述技术问题,本发明实施例提供一种用于确定液体体积的方法,在本发明实施例的方案中,获取待处理图像,待处理图像包含目标容器的影像,然后确定单位长度、液面位置和参考位置,由于单位长度是单位体积的液体在待处理图像中在第一方向上对应的像素点的数量,液面位置是液面在待处理图像中在第一方向上的位置,参考位置是参考刻度值对应的刻度线在待处理图像中在第一方向上的位置,因此,可以根据液面位置和参考位置确定液面和参考刻度值对应的刻度线之间的像素点的数量,进一步结合参考刻度值和单位长度,即可确定液面对应的刻度值,由此可以确定液体体积。在本发明实施例的方案中,通过单位长度来客观地表征液体体积和图像的像素之间的数量关系,既不依赖于容器及其量程,也不依赖于拍摄环境,因此,本发明实施例的方案能够适用于各种不同的容器,也能适用于各种拍摄环境,通用性和鲁棒性较好。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,图1是本发明实施例中一种用于确定液体体积的方法的流程示意图。图1示出的方法可以由终端执行,所述终端可以是现有的各种具有数据接收和数据处理能力的设备,例如,可以是手机、计算机、平板电脑、物联网设备和穿戴式设备等,本发明实施例对此并不进行限制。通过本发明实施例提供的方案,可以确定目标容器内液体的体积,本发明实施例对于目标容器的形状、尺寸等并不进行限制,对于液体的种类也并不进行限制。
图1示出的方法可以包括如下步骤:
步骤S101:获取待处理图像,所述待处理图像包括所述目标容器的影像;
步骤S102:确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;
步骤S103:确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;
步骤S104:根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积。
可以理解的是,在具体实施中,所述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现。
需要说明的是,本发明实施例对于步骤S102和步骤S103的执行顺序并不进行限定,可以先执行步骤S102,再执行步骤S103,也可以先执行步骤S103,再执行步骤S102,还可以同时执行步骤S102和步骤S103。
在步骤S101的具体实施中,待处理图像可以是预先存储在终端的存储器中的,也可以是实时从外部获取的(例如,从外部的摄像头获取),本实施例对此并不进行限制。
在一个具体的例子中,终端还可以配置有摄像头,待处理图像可以是由终端上的摄像头采集得到的。在实际使用时,用户可以使用终端上的摄像头对目标容器进行拍摄,以得到待处理图像,然后针对该待处理图像执行步骤S102至步骤S104。
参照图2,图2是本发明实施例中一种待处理图像的示意图。
如图2所示,待处理图像10可以包括目标容器11的影像。需要说明的是,图2仅示意性地示出目标容器11,本实施例对于目标容器11的种类、形状和尺寸等并不进行限制。例如,目标容器11可以是量杯、试管等。
具体而言,目标容器11装有液体,液体可以是呈透明状,也可以是不透明状。本实施例对于液体的质地和颜色并不进行限制。目标容器11具有透明部(图未标示),液体的液面处于透明部覆盖的区域,由此,液面是视觉可见的,也即,用户可以通过透明部观察到液面。换言之,待处理图像10可以是对透明部进行拍摄得到的,因此待处理图像10可以包含液面12的影像。
进一步地,目标容器11的外表面标注有刻度线和刻度值,刻度线可以沿目标容器11的深度方向分布,本发明实施例可以将刻度线的分布方向记为第一方向。也即,第一方向可以是目标容器11的深度方向。换言之,当目标容器11内液体的体积发生变化时,液面12在第一方向上的位置随之变化。如图2所示,第一方向可以是y方向。
需要说明的是,本发明实施例的方案中,待处理图像10可以无需包含目标容器11的整体,也无需包含目标容器11的量程,仅需包含液面12和至少两个刻度值及其对应的刻度线即可。因此,本发明实施例的方案对于容器、刻度值的单位和量程均不进行限制。例如,刻度值的单位可以是毫升(mL)、还可以是盎司(oz)。
在其他实施例中,目标容器11还可以是液柱型仪表,例如,可以是液位计。
继续参照图1,在步骤S102的具体实施中,可以确定单位长度,所述单位长度可以是指单位体积的液体在待处理图像中在第一方向上对应的像素点的数量。
具体而言,可以在待处理图像中确定第一参考位置和第二参考位置,其中,第一参考位置是指第一刻度值对应的刻度线在第一方向上的坐标,第二参考位置为第二刻度值对应的刻度线在第一方向上的坐标。
需要说明的是,本发明实施例中的“坐标”是指待处理图像所在的图像坐标系中的坐标,第一方向是指刻度线的分布方向,也即,第一方向为目标容器的深度方向。更具体地,图像坐标系的原点可以是待识别图像左上角的像素点,第一方向为y方向,第二方向为x方向,第二方向垂直于第一方向的方向。
在具体实施中,可以将待处理图像输入至已经训练好的数字检测模型,如基于Yolo-V3的数字检测模型,以得到数字检测模型输出的多个刻度值以及每个刻度值对应的刻度线在图像坐标系中的位置。
具体而言,数字检测模型可以确定每个刻度值对应的边界框,以指示每个刻度值的位置。更具体地,可以将刻度值对应的边界框的左上角在图像坐标系中的位置作为刻度值的位置。
进一步地,考虑到刻度值和刻度线在图像中并非是完全重叠的,二者位置存在一定的偏差,为此,本发明实施例的方案中,可以根据刻度值的位置和刻度值对应的边界框的尺寸确定该刻度值对应的刻度线在图像坐标系中的位置。更具体地,可以采用下列公式确定刻度线的位置:
l=d+0.5×w0;
其中,l为刻度线的位置,d为刻度值的位置,w0为刻度值对应的边界框的宽度。
需要说明的是,本发明实施例的方案中,刻度线在图像坐标系中的位置具体是指在第一方向上的位置,刻度值对应的边界框的尺寸和液面对应的边界框的尺寸是不同的。
相较于直接将刻度值的位置作为刻度线的位置的方案而言,上述方案采用边界框能够更加准确地确定刻度线的位置,从而提高整体算法的准确度。
进一步地,可以从多个刻度值中选取第一刻度值和第二刻度值,以及第一参考位置和第二参考位置。其中,第一刻度值和第二刻度值可以是预先设置的,也可以是随机选取的。
进一步地,可以采用下列公式确定单位长度:
其中,m为所述单位长度,n1为第一刻度值,n2为所述第二刻度值,y1为所述第一刻度值对应的刻度线在所述第一方向上的坐标,也即,y1为第一参考位置,y2为所述第二刻度值对应的刻度线在所述第一方向上的坐标,也即,y1为第二参考位置。
由上,可以确定单位体积的液体在待处理图像中对应的第一方向上的像素点的数量。
在步骤S103的具体实施中,一方面,可以确定液面位置,所述液面位置是指液体的液面在待处理图像中在第一方向上的位置。
具体而言,可以将待处理图像输入至液面检测模型,以得到液面检测模型输出的标签框的位置。其中,液面和标签框的相对位置关系是预先设置的,因此,可以根据待处理图像中标签框的位置和所述相对位置关系,确定液面在待处理图像中在第一方向上的位置。
参照图2,待处理图像中的标签框13的位置是由液面检测模型确定的,标签框13和液面12之间的相对位置关系是预先设置的,换言之,液面12在标签框13的预设位置处。如图2所示,液面12可以是在标签框13的中间位置,也即,在第一方向上,液面12位于标签框13的中间位置。
在具体实施中,液面检测模型可以是采用样本图像对预设模型进行训练得到的,其中,样本图像是对样本容器进行拍摄得到的,样本容器可以包括一种或多种容器,所述一种或多种容器可以包括目标容器。关于样本容器的更多内容可以参照上文关于目标容器的相关描述,在此不再赘述。
进一步地,样本图像具有预先标注的标签框,样本图像中的液面位于标签框中的预设位置。换言之,样本图像中的标签框和样本图像中的液面满足预设设置的相对位置关系。
在一个具体的例子中,液面可以位于标签框的中间位置处。
由于用于训练预设模型的样本图像中的标签框和液面均满足相对位置关系,因此,在模型使用过程中,液面检测模型确定的待处理图像中的标签框也与待处理图像中液面满足相对位置关系。
在本发明的一实施例中,在采用样本图像对预设模型进行训练之前,还可以先在样本图像中确定增强区域。其中,增强区域位于样本图像中的标签框内。更具体地,增强区域的尺寸以及增强区域在标签框内的位置可以是随机的。进一步地,增大增强区域中至少一部分像素点的像素值,以使增大后的像素值大于预设阈值。其中,预设阈值可以是预先设置的,例如,预设阈值可以大于或等于200。又例如,增大后的像素值可以为255。采用这样的方案,可以模拟检测过程中对目标容器的透明部进行拍摄时出现反光的情况,有利于提高算法的鲁棒性。
在本发明的另一实施例中,考虑到在本发明实施例的一种应用场景中,用户通常手持目标容器进行拍摄,在这样的场景中,用户通常是采用俯拍的方式对目标容器进行拍摄。为此,本发明实施例的方案中,至少一部分的样本图像是采用俯角拍摄的方式拍摄得到的。其中,所述俯角拍摄是指摄像头处于视平线之上,从高处向下对被摄体进行拍摄。采用这样的方案,可以考虑到用户的使用习惯,模拟检测过程中用户通常采用俯拍的方式对目标容器机型拍摄,有利于提高算法的鲁棒性。
进一步地,标签框的尺寸可以是预先设置的,也即,标签框的长度和宽度可以是预先设置的,其中,长度可以是指在第二方向上的像素点的个数,宽度可以是指在第一方向上的像素点的个数。
进一步地,可以采用样本图像对预设模型进行训练,以得到液面检测模型。需要说明的是,本发明实施例对于预设模型的结构并不进行限制,所述预设模型可以是现有的适用于目标检测(Object Detection)的神经网络结构。另外,本发明实施例对于训练模型的方法也并不进行限制,可以是现有的适当的用于训练神经网络模型的方法。
由上,可以得到用于识别液面位置的液面检测模型。在检测过程中,可以将待处理图像输入至液面检测模型,以得到液面检测模型输出的标签框的位置,并进一步根据标签框和液面的相对位置关系,确定待处理图像中的液面位置。
在具体实施中,液面检测模型输出的可以是待处理图像中标签框的左上角在第一方向上的坐标,液面位于标签框的中间位置,因此可以采用下列公式确定液面位置:
其中,s为所述液面位置,y0为所述待处理图像中标签框的左上角在所述第一方向上的坐标,所述待处理图像中的标签框是由所述液面检测模型确定的,w为所述标签框的宽度。
另一方面,还可以确定参考位置,所述参考位置是指参考刻度值对应的刻度线在待处理图像中在第一方向上的位置。
在本发明的一个实施例中,参考位置可以是第一参考位置或第二参考位置。
在其他实施例中,参考位置也可以是第一参考位置和第二参考位置以外的第三参考位置。其中,所述参考位置可以是由数字检测模型确定的。
需要说明的是,本发明实施例对于确定液面位置和参考位置的顺序并不进行限制。
在步骤S104的具体实施中,可以根据液面位置、参考位置、参考刻度值和单位长度,确定液体的体积。
具体而言,可以计算液面位置和参考位置的距离,也即,所述距离可以是液面位置和参考位置之间在第一方向上的像素点的数量。
进一步地,可以计算所述距离和单位长度的比值。
进一步地,可以判断液面位置是否高于参考位置,若是,则将所述比值和参考刻度值之和作为液体的体积,否则,可以将参考刻度值和比值的差值作为液体的体积,也即,将参考刻度值减去比值即可得到液体的体积。、
进一步地,还可以显示目标容器内液体的体积。
在本发明的一个非限制性的例子中,可以先确定液面位置,然后确定第一参考位置和第二参考位置,并根据第一参考位置、第二参考位置、第一刻度值和第二刻度值确定单位长度。其中,液面位置处于第一参考位置和第二参考位置之间,且第一刻度值对应的刻度线和第二位置对应的刻度线为距离液面最近的两个刻度线。
进一步地,一方面可以将第一参考位置作为参考位置,以及将第一刻度值作为参考刻度值,计算得到第一液体体积;另一方面,可以将第二参考位置作为参考位置,以及将第二刻度值作为参考刻度值,计算得到第二液体体积;最后将第一液体体积和第二液体体积的平均值作为最终得到的液体体积。
考虑到在目标容器的形状为不规则形状(例如,锥形、沙漏形等)的情况下,目标容器上的刻度线的疏密程度是不均等的,采用上述的方案可以使得到的液体体积尽可能准确。
在另一个非限制性的例子中,执行步骤S101之后且在执行步骤S102之前,可以先判断目标容器上刻度线的疏密程度是否是均等的。在具体实施中,可以采用预先训练好的分类模型来判断疏密程度是否均等,但并不限于此。
进一步地,如果目标容器上刻度线的疏密程度是均等的,则可以继续执行步骤S102至步骤S104,以确定液体体积。若否。则可以采用下述方法确定液体体积:可以先确定液面位置、第四参考位置和第五参考位置,其中,液面位于第四参考位置和第五参考位置之间,第四参考位置为第四参考刻度值对应的刻度线在待处理图像中在第一方向上的位置,第五参考位置为第五参考刻度值对应的刻度线在待处理图像中在第一方向上的位置,第五参考刻度值大于第四参考刻度值;
进一步地,读取预先存储每个刻度线的物理距离,所述物理距离可以用于指示在真实的物理世界中(也即,在世界坐标系中,而并非是在图像坐标系中)在第一方向上各个刻度线和0刻度线之间的距离。
进一步地,根据预先存储的物理距离,可以确定第一物理距离和第二物理距离,其中,第一物理距离是指第四参考刻度值对应的刻度线和第五参考刻度值对应的刻度线之间的物理距离,第二物理距离为第五参考刻度值对应的刻度线和0刻度线之间的距离;
进一步地,可以采用下列公式确定液面与0刻度线之间的物理距离:
其中,u为液面与0刻度线之间的物理距离,u2为第二物理距离,u1为第一物理距离,y5为第五参考位置,y4为第四参考位置,s为液面位置。
进一步地,可以根据液面与0刻度线之间的物理距离和各个刻度线与0刻度线之间的物理距离,从多个刻度线中确定距离液面最近的刻度线,并将该刻度线对应的刻度值作为液体体积。
由上,本发明实施例提供的确定液体体积的方法不依赖于拍摄环境和拍摄条件(例如,拍摄参数(如焦距)、目标容器和摄像头之间的距离)、目标容器的形状,也不依赖于容器的量程,因此通用性和鲁棒性更好。例如,针对同一个目标容器,即使拍摄条件发生变化,如角度,光暗,量程变化等,仍然可以通过上述方法确定液体体积。
在本发明的另一个非限制性的例子中,目标容器的外表面可以标注有两组不同的刻度,两组刻度对应的单位不同,例如,两组刻度对应的单位可以分别是毫升和盎司。其中,每组刻度均包括刻度线和对应的刻度值。在这种情况下,可以分别针对每组刻度执行上述的方法,以得到两个体积值,在显示时,可以一并显示两个体积值,并在每个体积值后显示对应的单位。
又或者,在执行步骤S102或在执行步骤S103之前,可以先获取用户发出的单位指令,单位指令可以用于指示用户选择的刻度的单位。进一步地,可以根据用户选择的单位对待处理图像进行裁剪,以使得裁剪后的图像中仅包含用户选择的刻度。其中,可以是沿着第一方向对待处理图像进行裁剪,也即,相较于裁剪前的图像,裁剪后的图像在第一方向上的尺寸并未发生变化。然后可以将裁剪后的图像作为待处理图像,继续执行后续步骤。
本发明实施例提供的确定液体体积的方法可以应用于饮料制作的应用场景,例如,在向容器内添加液体的过程中,可以通过执行上述方法来实时地确定容器内液体的体积,当容器内液体的体积达到预设体积阈值时,可以停止添加。
本发明实施例提供的确定液体体积的方法还可以应用于收集母乳的应用场景,科学的母乳喂养对于婴儿的健康具有至关重要的作用,为了提高收集的母乳的容量的准确性,用户可以使用终端(例如,手机)对目标容器进行拍摄,终端可以执行上述方法来确定目标容器中已收集的母乳的容量。
需要说明的是,上述仅示例性地描述本发明实施例的应用场景,并不构成对本发明实施例应用场景的限制。
参照图3,图3是本发明实施例中用于确定液体体积的装置的结构示意图。图3示出的装置可以包括:
获取模块31,用于获取待处理图像,所述待处理图像包括所述目标容器的影像;
第一确定模块32,用于确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;
第二确定模块33,用于确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;
体积确定模块34,用于根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积。
在具体实施中,上述用于确定液体体积的装置可以对应于终端内具有数据处理功能的芯片;或者对应于终端中具有数据处理功能的芯片模组,或者对应于终端。
关于图3示出的用于确定液体体积的装置的工作原理、工作方式和有益效果等更多内容,可以参照上文关于图1和图2的相关描述,在此不再赘述。
本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的用于确定液体体积的方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的用于确定液体体积的方法的步骤。所述终端可以是手机、计算机、电脑和物联网设备等。应理解,本申请实施例中,所述处理器可以为中央处理单元(central processing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (11)
1.一种用于确定液体体积的方法,其特征在于,所述液体位于目标容器内,所述目标容器的外表面具有刻度线和刻度值,所述目标容器具有透明部,所述液体的液面处于所述透明部的区域,所述方法包括:
获取待处理图像,所述待处理图像包括所述目标容器的影像;
确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;
根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积;
其中,所述根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积包括:
计算所述液面位置和所述参考位置的距离,以及所述距离和所述单位长度的比值,所述距离是所述液面位置和所述参考位置之间在所述第一方向上的像素点的数量;
判断所述液面位置在所述第一方向上是否高于所述参考位置,若是,则将所述比值与所述参考刻度值之和作为所述液体的体积,否则,将所述参考刻度值和所述比值的差值作为所述液体的体积。
2.根据权利要求1所述的用于确定液体体积的方法,其特征在于,确定单位长度包括:
确定第一参考位置和第二参考位置,其中,所述第一参考位置为第一刻度值对应的刻度线在所述第一方向上的坐标,所述第二参考位置为第二刻度值对应的刻度线在所述第一方向上的坐标;
根据所述第一参考位置、所述第二参考位置、所述第一刻度值和第二刻度值,确定所述单位长度。
3.根据权利要求2所述的用于确定液体体积的方法,其特征在于,所述参考位置为所述第一参考位置或者所述第二参考位置。
4.根据权利要求2所述的用于确定液体体积的方法,其特征在于,所述液面位置位于所述第一参考位置和第二参考位置之间。
5.根据权利要求1所述的用于确定液体体积的方法,其特征在于,确定液面位置包括:
将所述待处理图像输入至液面检测模型,以得到所述待处理图像中的标签框的位置;
根据所述待处理图像中的标签框的位置,确定所述液面位置;
其中,所述液面检测模型是采用样本图像对预设模型进行训练得到的,所述样本图像具有预先标注的标签框,所述样本图像中的液面位于所述标签框的预设位置。
7.根据权利要求5所述的用于确定液体体积的方法,其特征在于,采用样本图像对预设模型进行训练之前,所述方法还包括:
在所述样本图像中确定增强区域;
增大所述增强区域中至少一部分像素点的像素值,以使增大后的像素值大于预设阈值。
8.根据权利要求5所述的用于确定液体体积的方法,其特征在于,至少一部分的样本图像是采用俯角拍摄的方式拍摄得到的。
9.一种用于确定液体体积的装置,其特征在于,所述液体位于目标容器内,所述目标容器的外表面具有刻度线和刻度值,所述目标容器具有透明部,所述液体的液面处于所述透明部的区域,所述装置包括:
获取模块,用于获取待处理图像,所述待处理图像包括所述目标容器的影像;
第一确定模块,用于确定单位长度,所述单位长度是指单位体积的液体在所述待处理图像中在第一方向上对应的像素点的数量,所述第一方向为所述刻度线的分布方向;
第二确定模块,用于确定液面位置和参考位置,其中,所述液面位置为所述液面在所述待处理图像中在所述第一方向上的位置,所述参考位置为参考刻度值对应的刻度线在所述待处理图像中在所述第一方向上的位置;
体积确定模块,用于根据所述液面位置、所述参考位置、所述参考刻度值和所述单位长度,确定所述液体的体积;
其中,所述体积确定模块包括:
用于执行计算所述液面位置和所述参考位置的距离,以及所述距离和所述单位长度的比值的单元,所述距离是所述液面位置和所述参考位置之间在所述第一方向上的像素点的数量;
用于执行判断所述液面位置在所述第一方向上是否高于所述参考位置,若是,则将所述比值与所述参考刻度值之和作为所述液体的体积,否则,将所述参考刻度值和所述比值的差值作为所述液体的体积的单元。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时,执行权利要求1至8中任一项所述的用于确定液体体积的方法的步骤。
11.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至8中任一项所述的用于确定液体体积的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210565544.7A CN115239789B (zh) | 2022-05-23 | 2022-05-23 | 用于确定液体体积的方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210565544.7A CN115239789B (zh) | 2022-05-23 | 2022-05-23 | 用于确定液体体积的方法及装置、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115239789A CN115239789A (zh) | 2022-10-25 |
CN115239789B true CN115239789B (zh) | 2023-06-27 |
Family
ID=83668065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210565544.7A Active CN115239789B (zh) | 2022-05-23 | 2022-05-23 | 用于确定液体体积的方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115239789B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117078103B (zh) * | 2023-08-29 | 2024-02-13 | 南京图灵信息技术有限公司 | 商品品质监控数据处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132131A (zh) * | 2020-09-22 | 2020-12-25 | 深兰科技(上海)有限公司 | 量筒液位识别方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007064740A (ja) * | 2005-08-30 | 2007-03-15 | Sysmex Corp | 測定結果管理装置 |
CN104289259A (zh) * | 2014-03-29 | 2015-01-21 | 浙江清华长三角研究院萧山生物工程中心 | 一种基于机器视觉的移液器校准方法 |
CN111047640B (zh) * | 2019-11-18 | 2023-06-20 | 中国科学院深圳先进技术研究院 | 容量瓶容积的校准方法、装置、终端设备及存储介质 |
CN114494017B (zh) * | 2022-01-25 | 2023-04-07 | 北京至简墨奇科技有限公司 | 根据比例尺进行图像dpi调整的方法和装置、设备及介质 |
-
2022
- 2022-05-23 CN CN202210565544.7A patent/CN115239789B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132131A (zh) * | 2020-09-22 | 2020-12-25 | 深兰科技(上海)有限公司 | 量筒液位识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115239789A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598074B (zh) | 边缘检测方法和装置、电子设备和存储介质 | |
US9519968B2 (en) | Calibrating visual sensors using homography operators | |
CN108875534B (zh) | 人脸识别的方法、装置、系统及计算机存储介质 | |
CN109640066B (zh) | 高精度稠密深度图像的生成方法和装置 | |
CN111160232B (zh) | 正面人脸重建方法、装置及系统 | |
CN111860489A (zh) | 一种证件图像校正方法、装置、设备及存储介质 | |
CN112017231B (zh) | 基于单目摄像头的人体体重识别方法、装置及存储介质 | |
JP6317725B2 (ja) | 取得された画像内のクラッタを決定するためのシステム及び方法 | |
CN111028205B (zh) | 一种基于双目测距的眼睛瞳孔定位方法及装置 | |
CN111307039A (zh) | 一种物体长度识别方法、装置、终端设备和存储介质 | |
CN111161339B (zh) | 一种间距测量方法、装置、设备以及计算机可读介质 | |
CN111259890A (zh) | 一种水位尺的水位识别方法、装置及设备 | |
CN115239789B (zh) | 用于确定液体体积的方法及装置、存储介质、终端 | |
US20090290788A1 (en) | System and method for performing multi-image training for pattern recognition and registration | |
CN111222507A (zh) | 数字式仪表读数的自动识别方法、计算机可读存储介质 | |
CN112464829A (zh) | 一种瞳孔定位方法、设备、存储介质及视线追踪系统 | |
CN115937003A (zh) | 图像处理方法、装置、终端设备和可读存储介质 | |
CN114332349B (zh) | 一种双目结构光边缘重建方法、系统及存储介质 | |
CN111299186A (zh) | 水果分级的方法、装置及设备 | |
CN109902695B (zh) | 一种面向像对直线特征匹配的线特征矫正与提纯方法 | |
CN110210291B (zh) | 导向片参数获取方法、装置、电子设备以及存储介质 | |
CN113450335B (zh) | 一种路沿检测方法、路沿检测装置及路面施工车辆 | |
CA3232479A1 (en) | Inspection method for inspecting an object and machine vision system | |
CN113420579B (zh) | 标识码位置定位模型的训练及定位方法、装置、电子设备 | |
CN114511556A (zh) | 胃黏膜出血风险预警方法、装置和医学图像处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |