CN110763306B - 一种基于单目视觉的液位测量系统及方法 - Google Patents

一种基于单目视觉的液位测量系统及方法 Download PDF

Info

Publication number
CN110763306B
CN110763306B CN201910944956.XA CN201910944956A CN110763306B CN 110763306 B CN110763306 B CN 110763306B CN 201910944956 A CN201910944956 A CN 201910944956A CN 110763306 B CN110763306 B CN 110763306B
Authority
CN
China
Prior art keywords
value
liquid level
pixel
image
point
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
Application number
CN201910944956.XA
Other languages
English (en)
Other versions
CN110763306A (zh
Inventor
任龙
张辉
张高鹏
宋晓东
张海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XiAn Institute of Optics and Precision Mechanics of CAS
Original Assignee
XiAn Institute of Optics and Precision Mechanics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XiAn Institute of Optics and Precision Mechanics of CAS filed Critical XiAn Institute of Optics and Precision Mechanics of CAS
Priority to CN201910944956.XA priority Critical patent/CN110763306B/zh
Publication of CN110763306A publication Critical patent/CN110763306A/zh
Application granted granted Critical
Publication of CN110763306B publication Critical patent/CN110763306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/22Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water
    • G01F23/28Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water by measuring the variations of parameters of electromagnetic or acoustic waves applied directly to the liquid or fluent solid material
    • G01F23/284Electromagnetic waves
    • G01F23/292Light, e.g. infrared or ultraviolet
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Thermal Sciences (AREA)
  • Fluid Mechanics (AREA)
  • Geometry (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

为了解决传统液位计当液体温度低于‑40℃时会失效,测量范围有限以及操作复杂、容易老化的技术问题,本发明提供了一种基于单目视觉的液位测量系统及方法,将三个位置固定的激光器固定在相机周边,并将激光束打在液面上,通过对液面图像处理的一系列算法,完成液面上光斑的质心提取,最后通过相机的内参数以及提取的光斑质心像素坐标,完成最终液面的液位测量。本发明工作温度范围不受限制,可低至‑100℃,同时测量范围灵活,可达几十至上百米,远远超过传统液位计,测量误差可控制在1%以内,能够满足精度要求,同时还具有成本低,操作简单等优势。

Description

一种基于单目视觉的液位测量系统及方法
技术领域
本发明属于图像信息技术领域,涉及一种基于单目视觉的液位测量系统及方法,用于对储箱内的液体液位进行实时准确的测量。
背景技术
目前液面的液位测量都是采用液位计,传统液位计只能工作在-40℃以上的工作环境中,当液体温度低于-40℃时,液位计将会失效,同时液位计测量范围最多到30m,测量范围有限;另外,传统液位计还具有价格昂贵,仪表需要设置参数多,操作复杂,容易老化等问题。
发明内容
为了解决传统液位计当液体温度低于-40℃时会失效,测量范围有限以及操作复杂、容易老化的技术问题,本发明提供了一种基于单目视觉的液位测量系统及方法。
本发明的发明构思:
本发明将三个位置固定的激光器固定在相机周边,并将激光束打在液面上,通过对液面图像处理的一系列算法,完成液面上光斑的质心提取,最后通过相机的内参数以及提取的光斑质心像素坐标,完成最终液面的液位测量。
本发明的技术方案是:
一种基于单目视觉的液位测量系统,其特殊之处在于,包括:
三个激光器,设置在被测液面的上方,呈三角形分布,用于从三个不同方向照射被测液面,从而在被测液面上形成三个相互不重叠的激光光斑;
单目相机,设置在被测液面的正上方,用于实时拍摄具有三个激光光斑的液面图像;
图像采集单元,采集单目相机拍摄的实时液面图像,并送入图像处理单元和图像压缩单元;
图像处理单元,用于对接收到的实时液面图像进行预处理处理,计算得到液位值,并将液位值输出至上位机显示单元;
图像压缩单元,用于将接收到的实时液面图像数据压缩,并传输至上位机显示单元;
上位机显示单元,用于将收到的液位值和压缩图像数据进行实时解码并显示;
所述图像采集单元、图像处理单元以及图像压缩单元为运行在硬件平台上的程序,该程序被运行时用于实现以下步骤:
第一步:对单目相机光学系统的内参数进行标定,内参数包括:焦距f、图像中心点坐标(u0,v0)、畸变系数(k1,k2)、相机坐标系和世界坐标系之间的旋转矩阵R;
第二步:根据畸变系数(k1,k2),完成相机畸变矫正;
第三步:对单目相机采集的实时液面图像进行预处理,包括均值滤波、阈值分割,腐蚀,膨胀;
第四步:从预处理后的液面图像中提取所述三个激光光斑的轮廓:
4.1)标记像素点:
4.1.1)遍历预处理后的图像,找到第一个像素值为1的点,将其标记为1,并将其8邻域内所有像素为1的点标记为1;
4.1.2)继续遍历图像区域,若第二个像素值为1的点已经标记过,则跳过该像素点,继续遍历图像区域,否则,将该像素点标记为2,并且将其8邻域区域所有像素为1的点标记为2;
4.1.3)采用步骤4.1.2)的方法,直至找到最后一个像素值为1的点,将其标记为n;
4.2)整合已标记过的像素点:
将经步骤4.1)标记过的所有像素点进行整合,如果标记为1的像素点和其他标记的像素点有相邻的元素,则将其他像素点的标记也改为1,以此类推,整合之后,标记相同的像素点都是相邻的像素,即可认为标记相同的像素所对应的区域是一个联通区域;
4.3)提取三个激光光斑的轮廓:
4.3.1)若第一个联通区域内的像素点标记都为1,取第一个标记为1的像素点的四邻域内进行分析,若四邻域内有与其标记相同的像素点,且个数大于一个,则对四邻域内每一个像素点继续分析,若某像素点的四邻域内依然有与该像素点标记相同的像素点,则删除该像素点的标记,否则,保留该像素点标记;
4.3.2)采用步骤4.3.1)的方法,对于其余联通区域分别进行分析,最终保留的就是图像区域内所有具有轮廓的激光光斑图像;
第五步:基于第四步提取的三个激光光斑的轮廓,提取相应的激光光斑的质心;
第六步:获取单目相机靶面光心到被测液面的距离:
计算第六步所提取的激光光斑的质心在液面图像上的像素坐标,利用三点法位姿解算模型,解算出所述激光光斑质心在世界坐标系下的三维坐标,将解算出的三维坐标中的Z轴坐标值取平均值,该平均值即为单目相机靶面光心到液面的距离。
进一步地,在第三步中,先从所采集的液面图像上提取完全包含三个激光光斑的最小矩形区域,然后对所提取的矩形区域图像进行预处理。
进一步地,第六步具体为:
6.1)将被测液面上的激光光斑的质心记为A、B、C,A、B、C在液面图像上的像为A'、B'、C',世界坐标系的原点记为O,根据下式计算∠A'OC'、∠A'OB'、∠B'OC'的值:
Figure GDA0002522453830000041
Figure GDA0002522453830000042
Figure GDA0002522453830000043
6.2)令α=∠A'OB'、β=∠A'OC'、γ=∠B'OC'、a=B'C'、b=A'C'、c=A'B'、x=OA'、y=OB'、z=OC',根据下式计算x、y、z,即三个质心在世界坐标系下的Z轴坐标:
Figure GDA0002522453830000044
6.3)取三个质心在世界坐标系下的Z轴坐标的平均值,即为液位的测量值。
进一步地,第六步具体为:
第六步中在解算所述方程组
Figure GDA0002522453830000045
时,具体步骤如下:
A)首先定义x取值范围为0-10000mm,取值间隔为0.1mm,将每一个x值带入第一、第二个方程,计算出对应的y和z;
B)将步骤A)计算出的所有y和z值带入y2+z2-2yzcosγ-a2,其中y、z取值间隔均为5mm,找出该式取得最小值时的y和z值;
C)将步骤B)找到的y和z值再次带入式:y2+z2-2yzcosγ-a2中,其中y取值范围是y-100mm到y+100mm,z取值范围是z-100mm到z+100mm,y和z取值间隔为0.01mm,找出该式取得最小值时的z值,即最终计算出的光斑质心在Z轴的坐标值,也即液面的液位值。
本发明还提供了一种基于单目视觉的液位测量方法,其特殊之处在于,包括以下步骤:
第一步:对单目相机光学系统的内参数进行标定,内参数包括:焦距f、图像中心点坐标(u0,v0)、相机畸变系数(k1,k2)、相机坐标系和世界坐标系之间的旋转矩阵R;
第二步:根据相机畸变系数(k1,k2),完成相机畸变矫正;
第三步:利用呈三角形分布的三个激光器照射被测液面,在被测液面上形成三个激光光斑;
第四步:利用第二步畸变校正后的单目相机从被测液面的正上方采集具有三个激光光斑的液面图像;
第五步:对第四步所采集的液面图像进行预处理,包括均值滤波、阈值分割,腐蚀,膨胀;
第六步:从预处理后的液面图像中提取所述三个激光光斑的轮廓:
6.1)标记像素点:
6.1.1)遍历预处理后的图像,找到第一个像素值为1的点,将其标记为1,并将其8邻域内所有像素为1的点标记为1;
6.1.2)继续遍历图像区域,若第二个像素值为1的点已经标记过,则跳过该像素点,继续遍历图像区域,否则,将该像素点标记为2,并且将其8邻域区域所有像素为1的点标记为2;
6.1.3)采用步骤6.1.2)的方法,直至找到最后一个像素值为1的点,将其标记为n;
6.2)整合已标记过的像素点:
将经步骤6.1)标记过的所有像素点进行整合,如果标记为1的像素点和其他标记的像素点有相邻的元素,则将其他像素点的标记也改为1,以此类推,整合之后,标记相同的像素点都是相邻的像素,即可认为标记相同的像素所对应的区域是一个联通区域;
6.3)提取三个激光光斑的轮廓:
6.3.1)若第一个联通区域内的像素点标记都为1,取第一个标记为1的像素点的四邻域内进行分析,若四邻域内有与其标记相同的像素点,且个数大于一个,则对四邻域内每一个像素点继续分析,若某像素点的四邻域内依然有与该像素点标记相同的像素点,则删除该像素点的标记,否则,保留该像素点标记;
6.3.2)采用步骤6.3.1)的方法,对于其余联通区域分别进行分析,最终保留的就是图像区域内所有具有轮廓的激光光斑图像;
第七步:基于第六步提取的三个激光光斑的轮廓,提取相应的激光光斑的质心;
第八步:获取单目相机靶面光心到被测液面的距离:
计算第七步所提取的激光光斑的质心在液面图像上的像素坐标,利用三点法位姿解算模型,解算出所述激光光斑质心在世界坐标系下的三维坐标,将解算出的三维坐标中的Z轴坐标值取平均值,该平均值即为单目相机靶面光心到液面的距离;
第九步:用相机靶面光心到被测液体所在容器底部的距离减去第六步得到的相机靶面光心到被测液面的距离,即得被测液面液位值;
第十步:将液位值发送至上位机显示单元进行实时显示,同时将采集到的原始实时液面图像压缩后发送至上位机进行解码显示。
进一步地,在第五步中,先从所采集的液面图像上提取完全包含三个激光光斑的最小矩形区域,然后对所提取的矩形区域图像进行预处理。
进一步地,第八步具体为:
8.1)将被测液面上的激光光斑的质心记为A、B、C,A、B、C在液面图像上的像为A'、B'、C',世界坐标系的原点记为O,根据下式计算∠A'OC'、∠A'OB'、∠B'OC'的值:
Figure GDA0002522453830000071
Figure GDA0002522453830000072
Figure GDA0002522453830000073
8.2)令α=∠A'OB'、β=∠A'OC'、γ=∠B'OC'、a=B'C'、b=A'C'、c=A'B'、x=OA'、y=OB'、z=OC',根据下式计算x、y、z,即三个质心在世界坐标系下的Z轴坐标:
Figure GDA0002522453830000074
8.3)取三个质心在世界坐标系下的Z轴坐标的平均值,即为液位的测量值。
进一步地,第八步中在解算所述方程组
Figure GDA0002522453830000075
时,具体步骤如下:
A)首先定义x取值范围为0-10000mm,取值间隔为0.1mm,将每一个x值带入第一、第二个方程,计算出对应的y和z;
B)将步骤A)计算出的所有y和z值带入y2+z2-2yzcosγ-a2,其中y、z取值间隔均为5mm,找出该式取得最小值时的y和z值;
C)将步骤B)找到的y和z值再次带入式:y2+z2-2yzcosγ-a2中,其中y取值范围是y-100mm到y+100mm,z取值范围是z-100mm到z+100mm,y和z取值间隔为0.01mm,找出该式取得最小值时的z值,即最终计算出的光斑质心在Z轴的坐标值,也即液面的液位值。
进一步地,还包括第九步:
将计算得出的单目相机的靶面光心至目标平面或液面的距离,采用三组值平均的方法减小误差,同时设置阈值,当每两组值相减大于所设置的阈值时,剔除新计算出的值。
进一步地,在第六步和第七步之间,
先对每一个激光光斑轮廓的像素个数进行设定,通过对不同距离处激光光斑轮廓的像素个数进行分析,根据公式f=d*∑log(x2+y2)2拟合出激光光斑轮廓像素个数;其中,f是像素个数,x,y是像素坐标,d是液面到单目相机距离;
然后比较第六步提取的激光光斑轮廓的像素值与利用公式拟合出的激光光斑轮廓的像素值,若第六步提取的激光光斑轮廓的像素值大于或者小于利用公式拟合出的激光光斑轮廓的像素值的20%以上,则对第六步提取的激光光斑轮廓进行相应的缩小或放大。
进一步地,第一步中,利用无穷远处两个正交消隐点实现单目相机光学系统的内参数的标定。
本发明具有如下优点:
1、本发明采用图像处理算法实现液位测量,工作温度范围不受限制,可低至-100℃,同时测量范围灵活,可达几十至上百米,远远超过传统液位计,测量误差可控制在1%以内,能够满足精度要求,同时还具有成本低,操作简单等优势。
2、本发明采用自标定算法可以完成相机内参数实时标定,无需离线标定,标定精度高,速度快。
3、本发明采用改进的两步法轮廓提取算法,相比于传统两步法提取算法,耗时更少,同时能够抑制光照,液面晃动等问题,保证了激光光斑质心提取的精度。
4、本发明改进了三点法解算光斑质心的三维坐标解算方程,极大提升了解算效率,使得液位测量系统在硬件平台上实现3fps的实时测量。
5、本发明采用平均法和坏点剔除法,保证了计算出最后的液位值相对误差小于1%,满足液位测量的精度要求。
6、本发明地面站可利用软解码对采集的高清图像和液位测量值进行实时解码显示。
7、本发明的自标定算法利用无穷远处的两个正交消隐点完成内参数标定的,无需使用更多的已知目标点,仅通过图像中已有的平行线即可完成相机内参数标定。
附图说明
图1是本发明液位测量系统的流程图。
图2是液位测量系统硬件框图。
图3是本发明液位测量实验结果。
图4是自标定中正交消隐点对之间的几何关系。
图5是两个像点的二维射影关系称为图像的无穷单应关系。
图6是采集到图像数据经过阈值分割、腐蚀、膨胀、以及轮廓提取后提取到的光斑质心,其中:(a)是经过腐蚀膨胀后得到的图像,(b)是经过轮廓提取后得到的轮廓中心点处理图。
图7是三点法位姿解算模型。
具体实施方式
下面将结合本发明实施例中的附图对本发明进行清楚完整的描述,显然所描述的实施例仅是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的其他实施例,都属于本发明的保护范围。
如图1所示,本发明所提供的基于单目视觉的液位测量系统,包括激光器、单目相机、图像采集单元、图像压缩单元、上位机显示单元以及图像处理单元;
激光器有三个,设置在被测液面的上方,三个激光器的连线呈三角形,用于从三个不同方向照射被测液面,从而在被测液面上形成三个相互不重叠的激光光斑;
单目相机,设置在被测液面的正上方,用于实时拍摄具有三个激光光斑的液面图像;
图像采集单元,采集单目相机拍摄的实时液面图像,并送入图像处理单元和图像压缩单元;
图像处理单元用于对接收到的实时液面图像进行处理,包括图像预处理和液位值计算,并将得到的液位值输出至上位机显示单元;
图像压缩单元用于将单目相机拍摄的实时液面图像(即液面视频)进行实时H.265压缩,并输出至上位机显示单元;
上位机显示单元将收到的液位值和压缩图像数据进行实时H.265解码后的图像数据进行显示。
图像采集单元、图像处理单元以及图像压缩单元为运行在硬件平台海思3516上的嵌入式程序,用于实现以下步骤:
第一步:利用自标定算法,对单目相机光学系统的内参数进行标定,内外参数包括焦距f、图像中心点坐标(u0,v0)、畸变系数(k1,k2)、相机坐标系和世界坐标系之间的旋转矩阵R。
图4是单目相机自标定中正交消隐点对之间的几何关系,对于复杂条件下使用的光学系统而言,光学系统内外部参数具有时变特征,在完成视觉任务过程中,需要对单目相机的光学系统的内外参数进行实时标定。由于任务条件所限,实际中往往不可能提供精确的标定靶标,因此,只能利用有限的场景资源来实现单目相机的在轨标定。平行线特征作为绝大多数场景都有的特征,其本身蕴含着丰富的几何信息,因此,本发明利用正交平行线实现空间环境下单目相机光学系统内外参数的实时自标定。
在欧氏空间中,两条正交平行线在图像平面中的交点称为消隐点,它是无穷远点在像平面上的投影。两组正交平行线的消隐点,称为一对正交消隐点。如图4所示,正交消隐点对v1和v2满足几下几何特性:
Figure GDA0002522453830000111
其中,
Figure GDA0002522453830000112
πc是光轴中心与成像平面之间的交点,fx、fy是焦距f在x轴,y轴方向上的值,K为单目相机的内参矩阵,
Figure GDA0002522453830000113
另一方面,设π是不通过两个单目相机无穷远空间平面,X是平面π上的任一点,其在任意两个单目相机下成的像分别为mi、mj。如图5所示,两个像点的二维射影关系称为图像的无穷单应关系为:
smj=Hmi
H=K′RjiK-1
由无穷单应矩阵H的表达式可以看出,无穷单应与诱导平面无关,仅与单目相机内参数和两幅图像之间的相对旋转Rji有关s是一个固定参数,用于平衡等式左右两边,图5中Ocmi和Ocmj分别是相机旋转前后的坐标系原点。
综合以上各式,可以得到消隐点的无穷单应关系:
svj=Hvi=(KRjiK-1)vi
Figure GDA0002522453830000121
其中,rij代表外参旋转数矩阵R中的每一项,(u0,v0)是图像中心点坐标。
设对应的消隐点齐次坐标分别为vi=(uA,vA,1)T和vj=(uB,vB,1)T,可得到:
Figure GDA0002522453830000122
对上式进行展开并联立以上各式,即可得到约束方程组:
Figure GDA0002522453830000123
从化简结果来看,当fx=fy时,可以根据两幅图像的消隐点齐次坐标以及相对旋转矩阵R建立线性方程组,求解单目相机的内外参数。当fx≠fy时,可增加一幅图像建立类似于上式的包含9个方程以及9个未知参数的约束方程组,完成单目相机内外参数的求解。
根据上述求解可以得到相机内参数,包括焦距f、图像中心点坐标(u0,v0),以及畸变系数(k1,k2),相机坐标系和世界坐标系之间的旋转矩阵R。
第二步:根据相机畸变系数(k1,k2),完成相机畸变矫正;第三步:图像预处理:
为提高计算效率,本发明不对单目相机采集到的液面图像作全图处理,而是提取完全包含液面图像上三个激光光斑的最小矩形区域,同时对该矩形区域依次作均值滤波、阈值分割、腐蚀、膨胀;均值滤波、阈值分割、腐蚀、膨胀属于图像预处理环节,均采用目前已经公开的常规算法;
第四步:三个激光光斑的轮廓提取,其提取流程如图6所示:
4.1)标记像素点:
图像预处理后已经变为二值化图像,像素值只有1和0两种,其中1代表白色图像点,0代表黑色图像点;
遍历预处理后的图像区域,找到第一个像素值为1的点,将其标记为1,并且将其8邻域内所有像素为1的点标记为1;
继续遍历图像区域,若第二个像素值为1的点已经标记过,则跳过该像素点,继续遍历图像区域,否则,将该像素点标记为2,并且将其8邻域区域所有像素为1的点标记为2;
以此类推,直到找到最后一个像素值为1的点,将其标记为n;
4.2)整合已标记过的像素点:
将经步骤4.1)标记过的所有像素点进行整合,如果标记为1的像素点和其他标记的像素点有相邻的元素,则将其他像素点的标记也改为1,以此类推,整合之后,标记相同的像素点都是相邻的像素,即可认为标记相同的像素所对应的区域是一个联通区域;
4.3)提取三个激光光斑的轮廓:
对于每一个联通区域进行分析,举例说明,若第一个联通区域内的像素点标记都为1,取第一个标记为1的像素点的四邻域内进行分析,若四邻域内有与其标记相同的像素点,且个数大于一个,则对四邻域内每一个像素点继续分析,若某像素点的四邻域内依然有与该像素点标记相同的像素点,则删除该像素点的标记,否则,保留该像素点标记;
以此类推,当对每一个联通区域进行上述处理后,最终保留的就是图像区域内所有具有轮廓的激光光斑图像。
第五步:提取三个激光光斑的质心:
基于第四步所提取的三个具有轮廓的激光光斑图像,利用质心提取法即可找出每一个激光光斑的质心,如图6所示,其中(a)是经过腐蚀膨胀后得到的图像,(b)是经过轮廓提取后得到的轮廓中心点处理图。
为了抑制光照、液面晃动等因素带来的激光光斑质心提取不准的问题,本发明对每一个激光光斑轮廓的像素个数进行了设定,通过对不同距离处的激光光斑轮廓的像素个数进行分析,拟合出激光光斑轮廓像素个数f=d*∑log(x2+y2)2,其中:f是像素个数,x,y是像素坐标,d是液面到单目相机距离;当利用上述第四步提取的激光光斑轮廓的像素值大于或者小于利用激光光斑轮廓像素个数计算公式所计算出的激光光斑轮廓像素个数20%以上,说明光照变化和/或液面晃动较大,此时需要先对利用第四步提取的激光光斑轮廓进行缩小或者放大,缩小比例为原像素个数的0.8倍,放大比例为原像素个数的1.2倍,然后再进行第五步激光光斑质心的提取,这样就能够保证在不同光照和/或液面产生剧烈晃动时,激光光斑轮廓相对固定,在此基础上提取的质心更加准确,保证了后续计算出的液位值的准确性。
第六步:获取单目相机靶面光心到液面的距离:
计算第五步提取的三个激光光斑的质心在液面图像上的像素坐标,利用三点法位姿解算方法解算出它们在世界坐标系下的三维坐标,将解算出的三个激光光斑质心在世界坐标系下的三维坐标的Z轴坐标值取平均值,该平均值即为单目相机靶面光心到液面的距离。
如图7所示是三点法位姿解算模型,A、B、C表示激光打在液面上的激光光斑的质心,他们之间的位置关系已知,也就是AB、AC、BC的长度已知,A、B、C在液面图像上的像为A'、B'、C';A'、B'、C'在液面图像上的像素坐标可以利用图像处理的方法提取,世界坐标系原点O点到像平面A'B'C'的距离为单目相机的焦距f,相机像元尺寸等相机内参数已知,所以A'B'、B'C'、A'C'的长度可以计算得到,OA'、OB'、OC'的长度可以计算得到。∠A'OC'、∠A'OB'、∠B'OC'的值可以利用A'B'、B'C'、A'C'、OA'、OB'、OC'的长度计算得到,计算的方法如下式所示:
Figure GDA0002522453830000151
Figure GDA0002522453830000152
Figure GDA0002522453830000153
通过计算得到∠A'OC'、∠A'OB'、∠B'OC'的值,AB、AC、BC的长度已知,则可以利用∠A'OC'、∠A'OB'、∠B'OC'、AB、AC、BC计算OC、OB、OA的长度,为了公式简洁,令α=∠A'OB'、β=∠A'OC'、γ=∠B'OC'、a=B'C'、b=A'C'、c=A'B'、x=OA'、y=OB'、z=OC',则可以将a、b、c、α、β、γ、x、y、z表示成下式的形式:
Figure GDA0002522453830000154
其中a、b、c、α、β、γ为已知量,x、y、z为待求量,通过上式即可解算出三个特征点A、B、C在世界坐标系下的Z轴坐标,求其平均值作为最终相机靶面光心到被测液面的距离。
由于解算上述三个方程需要耗费大量时间从而很难保证测量的实时性,因此,本发明对解算过程进行了优化,具体步骤如下:
A)首先定义x取值范围为0-10000,取值间隔为0.1,将每一个x值带入第一、第二个方程,计算出对应的y和z;
B)将步骤A)计算出的所有y和z值带入y2+z2-2yzcosγ-a2,其中y、z取值间隔均为5,找出该式取得最小值时的y和z值;
C)将步骤B)找到的y和z值再次带入式:y2+z2-2yzcosγ-a2中,其中y取值范围是y-100到y+100,z取值范围是z-100到z+100,y和z取值间隔为0.01,找出该式取得最小值时的z值,即最终计算出的光斑质心在Z轴的坐标值,也即相机靶面光心到被测液面的距离。
上述步骤所用的单位都是毫米(mm)。
通过以上三个步骤即可计算出最终三个点(A、B、C)到相机靶面光心的距离,该方法相比传统解方程迭代算法,计算时间只有原算法的20%,极大地提高了计算效率。
为进一步提高计算出的液位精度,将计算得出的单目相机的靶面光心至目标平面或液面的距离,采用三组值平均的方法减小误差,同时设置阈值,当每两组值相减大于所设置的阈值时,剔除新计算出的值,例如阈值设为20mm,当计算出的第二组距离值减去第一组距离值大于20mm时,认为第二组计算的距离值不准,因为一秒内液位不可能上升20mm,所以对该值进行剔除,之后再进行第三组计算,这样能够保证在测量过程中出现测量结果发生突变的情况。
第七步:用相机靶面光心到被测液体所在容器底部的距离减去第六步得到的相机靶面光心到被测液面的距离,即得被测液面液位值。
第八步:图像处理单元将得到的液位值通过网口发送至上位机显示单元进行实时显示,同时图像采集单元将采集到的原始实时液面图像数据,送入图像压缩单元进行H.265压缩,并且将压缩后的数据也通过网络UDP协议发送至上位机显示单元进行实时H.265解码显示。这样在上位机显示单元界面上能够同时显示实时液面图像数据和液位值。
图3是利用本发明的算法计算的液位值,通过和真实值比较,液面在最大和最小时相对误差分别为0.55%和0.15%,能够满足实际测量的要求。

Claims (11)

1.一种基于单目视觉的液位测量系统,其特征在于,包括:
三个激光器,设置在被测液面的上方,呈三角形分布,用于从三个不同方向照射被测液面,从而在被测液面上形成三个相互不重叠的激光光斑;
单目相机,设置在被测液面的正上方,用于实时拍摄具有三个激光光斑的液面图像;
图像采集单元,采集单目相机拍摄的实时液面图像,并送入图像处理单元和图像压缩单元;
图像处理单元,用于对接收到的实时液面图像进行预处理处理,计算得到液位值,并将液位值输出至上位机显示单元;
图像压缩单元,用于将接收到的实时液面图像数据压缩,并传输至上位机显示单元;
上位机显示单元,用于将收到的液位值和压缩图像数据进行实时解码并显示;
所述图像采集单元、图像处理单元以及图像压缩单元为运行在硬件平台上的程序,该程序被运行时用于实现以下步骤:
第一步:对单目相机光学系统的内参数进行标定,内参数包括:焦距f、图像中心点坐标(u0,v0)、畸变系数(k1,k2)、相机坐标系和世界坐标系之间的旋转矩阵R;
第二步:根据畸变系数(k1,k2),完成相机畸变矫正;
第三步:对单目相机采集的实时液面图像进行预处理,包括均值滤波、阈值分割,腐蚀,膨胀;
第四步:从预处理后的液面图像中提取所述三个激光光斑的轮廓:
4.1)标记像素点:
4.1.1)遍历预处理后的图像,找到第一个像素值为1的点,将其标记为1,并将其8邻域内所有像素为1的点标记为1;
4.1.2)继续遍历图像区域,若第二个像素值为1的点已经标记过,则跳过该像素点,继续遍历图像区域,否则,将该像素点标记为2,并且将其8邻域区域所有像素为1的点标记为2;
4.1.3)采用步骤4.1.2)的方法,直至找到最后一个像素值为1的点,将其标记为n;
4.2)整合已标记过的像素点:
将经步骤4.1)标记过的所有像素点进行整合,如果标记为1的像素点和其他标记的像素点有相邻的元素,则将其他像素点的标记也改为1,以此类推,整合之后,标记相同的像素点都是相邻的像素,标记相同的像素所对应的区域是一个联通区域;
4.3)提取三个激光光斑的轮廓:
4.3.1)若第一个联通区域内的像素点标记都为1,取第一个标记为1的像素点的四邻域内进行分析,若四邻域内有与其标记相同的像素点,且个数大于一个,则对四邻域内每一个像素点继续分析,若某像素点的四邻域内依然有与该像素点标记相同的像素点,则删除该像素点的标记,否则,保留该像素点标记;
4.3.2)采用步骤4.3.1)的方法,对于其余联通区域分别进行分析,最终保留的就是图像区域内所有具有轮廓的激光光斑图像;
第五步:基于第四步提取的三个激光光斑的轮廓,提取相应的激光光斑的质心;
第六步:获取单目相机靶面光心到被测液面的距离:
计算第六步所提取的激光光斑的质心在液面图像上的像素坐标,利用三点法位姿解算模型,解算出所述激光光斑质心在世界坐标系下的三维坐标,将解算出的三维坐标中的Z轴坐标值取平均值,该平均值即为单目相机靶面光心到液面的距离。
2.根据权利要求1所述的基于单目视觉的液位测量系统,其特征在于:在第三步中,先从所采集的液面图像上提取完全包含三个激光光斑的最小矩形区域,然后对所提取的矩形区域图像进行预处理。
3.根据权利要求1或2所述的基于单目视觉的液位测量系统,其特征在于,第六步具体为:
6.1)将被测液面上的激光光斑的质心记为A、B、C,A、B、C在液面图像上的像为A'、B'、C',世界坐标系的原点记为O,根据下式计算∠A'OC'、∠A'OB'、∠B'OC'的值:
Figure FDA0002522453820000031
Figure FDA0002522453820000032
Figure FDA0002522453820000033
6.2)令α=∠A'OB'、β=∠A'OC'、γ=∠B'OC'、a=B'C'、b=A'C'、c=A'B'、x=OA'、y=OB'、z=OC',根据下式计算x、y、z,即三个质心在世界坐标系下的Z轴坐标:
Figure FDA0002522453820000034
6.3)取三个质心在世界坐标系下的Z轴坐标的平均值,即为液位的测量值。
4.根据权利要求3所述的基于单目视觉的液位测量系统,其特征在于,第六步具体为:
第六步中在解算所述方程组
Figure FDA0002522453820000041
时,具体步骤如下:
A)首先定义x取值范围为0-10000mm,取值间隔为0.1mm,将每一个x值带入第一、第二个方程,计算出对应的y和z;
B)将步骤A)计算出的所有y和z值带入y2+z2-2yzcosγ-a2,其中y、z取值间隔均为5mm,找出该式取得最小值时的y和z值;
C)将步骤B)找到的y和z值再次带入式:y2+z2-2yzcosγ-a2中,其中y取值范围是y-100mm到y+100mm,z取值范围是z-100mm到z+100mm,y和z取值间隔为0.01mm,找出该式取得最小值时的z值,即最终计算出的光斑质心在Z轴的坐标值,也即液面的液位值。
5.一种基于单目视觉的液位测量方法,其特征在于,包括以下步骤:
第一步:对单目相机光学系统的内参数进行标定,内参数包括:焦距f、图像中心点坐标(u0,v0)、相机畸变系数(k1,k2)、相机坐标系和世界坐标系之间的旋转矩阵R;
第二步:根据相机畸变系数(k1,k2),完成相机畸变矫正;
第三步:利用呈三角形分布的三个激光器照射被测液面,在被测液面上形成三个激光光斑;
第四步:利用第二步畸变校正后的单目相机从被测液面的正上方采集具有三个激光光斑的液面图像;
第五步:对第四步所采集的液面图像进行预处理,包括均值滤波、阈值分割,腐蚀,膨胀;
第六步:从预处理后的液面图像中提取所述三个激光光斑的轮廓:
6.1)标记像素点:
6.1.1)遍历预处理后的图像,找到第一个像素值为1的点,将其标记为1,并将其8邻域内所有像素为1的点标记为1;
6.1.2)继续遍历图像区域,若第二个像素值为1的点已经标记过,则跳过该像素点,继续遍历图像区域,否则,将该像素点标记为2,并且将其8邻域区域所有像素为1的点标记为2;
6.1.3)采用步骤6.1.2)的方法,直至找到最后一个像素值为1的点,将其标记为n;
6.2)整合已标记过的像素点:
将经步骤6.1)标记过的所有像素点进行整合,如果标记为1的像素点和其他标记的像素点有相邻的元素,则将其他像素点的标记也改为1,以此类推,整合之后,标记相同的像素点都是相邻的像素,标记相同的像素所对应的区域是一个联通区域;
6.3)提取三个激光光斑的轮廓:
6.3.1)若第一个联通区域内的像素点标记都为1,取第一个标记为1的像素点的四邻域内进行分析,若四邻域内有与其标记相同的像素点,且个数大于一个,则对四邻域内每一个像素点继续分析,若某像素点的四邻域内依然有与该像素点标记相同的像素点,则删除该像素点的标记,否则,保留该像素点标记;
6.3.2)采用步骤6.3.1)的方法,对于其余联通区域分别进行分析,最终保留的就是图像区域内所有具有轮廓的激光光斑图像;
第七步:基于第六步提取的三个激光光斑的轮廓,提取相应的激光光斑的质心;
第八步:获取单目相机靶面光心到被测液面的距离:
计算第七步所提取的激光光斑的质心在液面图像上的像素坐标,利用三点法位姿解算模型,解算出所述激光光斑质心在世界坐标系下的三维坐标,将解算出的三维坐标中的Z轴坐标值取平均值,该平均值即为单目相机靶面光心到液面的距离;
第九步:用相机靶面光心到被测液体所在容器底部的距离减去第六步得到的相机靶面光心到被测液面的距离,即得被测液面液位值;
第十步:将液位值发送至上位机显示单元进行实时显示,同时将采集到的原始实时液面图像压缩后发送至上位机进行解码显示。
6.根据权利要求5所述的基于单目视觉的液位测量方法,其特征在于:在第五步中,先从所采集的液面图像上提取完全包含三个激光光斑的最小矩形区域,然后对所提取的矩形区域图像进行预处理。
7.根据权利要求5或6所述的基于单目视觉的液位测量方法,其特征在于,第八步具体为:
8.1)将被测液面上的激光光斑的质心记为A、B、C,A、B、C在液面图像上的像为A'、B'、C',世界坐标系的原点记为O,根据下式计算∠A'OC'、∠A'OB'、∠B'OC'的值:
Figure FDA0002522453820000061
Figure FDA0002522453820000062
Figure FDA0002522453820000063
8.2)令α=∠A'OB'、β=∠A'OC'、γ=∠B'OC'、a=B'C'、b=A'C'、c=A'B'、x=OA'、y=OB'、z=OC',根据下式计算x、y、z,即三个质心在世界坐标系下的Z轴坐标:
Figure FDA0002522453820000071
8.3)取三个质心在世界坐标系下的Z轴坐标的平均值,即为液位的测量值。
8.根据权利要求7所述的基于单目视觉的液位测量方法,其特征在于,第八步中在解算所述方程组
Figure FDA0002522453820000072
时,具体步骤如下:
A)首先定义x取值范围为0-10000mm,取值间隔为0.1mm,将每一个x值带入第一、第二个方程,计算出对应的y和z;
B)将步骤A)计算出的所有y和z值带入y2+z2-2yzcosγ-a2,其中y、z取值间隔均为5mm,找出该式取得最小值时的y和z值;
C)将步骤B)找到的y和z值再次带入式:y2+z2-2yzcosγ-a2中,其中y取值范围是y-100mm到y+100mm,z取值范围是z-100mm到z+100mm,y和z取值间隔为0.01mm,找出该式取得最小值时的z值,即最终计算出的光斑质心在Z轴的坐标值,也即液面的液位值。
9.根据权利要求8所述的基于单目视觉的液位测量方法,其特征在于,还包括第九步:
将计算得出的单目相机的靶面光心至目标平面或液面的距离,采用三组值平均的方法减小误差,同时设置阈值,当每两组值相减大于所设置的阈值时,剔除新计算出的值。
10.根据权利要求9所述的基于单目视觉的液位测量方法,其特征在于,在第六步和第七步之间,
先对每一个激光光斑轮廓的像素个数进行设定,通过对不同距离处激光光斑轮廓的像素个数进行分析,根据公式f=d*∑log(x2+y2)2拟合出激光光斑轮廓像素个数;其中,f是像素个数,x,y是像素坐标,d是液面到单目相机距离;
然后比较第六步提取的激光光斑轮廓的像素值与利用公式拟合出的激光光斑轮廓的像素值,若第六步提取的激光光斑轮廓的像素值大于或者小于利用公式拟合出的激光光斑轮廓的像素值的20%以上,则对第六步提取的激光光斑轮廓进行相应的缩小或放大。
11.根据权利要求5所述的基于单目视觉的液位测量方法,其特征在于:第一步中,利用无穷远处两个正交消隐点实现单目相机光学系统的内参数的标定。
CN201910944956.XA 2019-09-30 2019-09-30 一种基于单目视觉的液位测量系统及方法 Active CN110763306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910944956.XA CN110763306B (zh) 2019-09-30 2019-09-30 一种基于单目视觉的液位测量系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910944956.XA CN110763306B (zh) 2019-09-30 2019-09-30 一种基于单目视觉的液位测量系统及方法

Publications (2)

Publication Number Publication Date
CN110763306A CN110763306A (zh) 2020-02-07
CN110763306B true CN110763306B (zh) 2020-09-01

Family

ID=69329182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910944956.XA Active CN110763306B (zh) 2019-09-30 2019-09-30 一种基于单目视觉的液位测量系统及方法

Country Status (1)

Country Link
CN (1) CN110763306B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814784B (zh) * 2020-06-11 2023-07-07 浙江大华技术股份有限公司 基于图像处理的液位识别方法及相关装置
CN112164021A (zh) * 2020-08-12 2021-01-01 中国科学院西安光学精密机械研究所 航天器载荷振动的图像测量方法及测量装置
CN114913225B (zh) * 2021-02-10 2024-04-09 上海梅山钢铁股份有限公司 一种基于单目视觉的转炉液位实时测量方法
CN115656238B (zh) * 2022-10-17 2023-05-12 中国科学院高能物理研究所 一种微区xrf元素分析与多维成像方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106595807A (zh) * 2016-11-22 2017-04-26 中国科学院西安光学精密机械研究所 一种基于分布式光纤的长距离无源液位传感器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6617601B1 (en) * 2000-03-10 2003-09-09 Lmi Technologies Inc. Molten metal pouring control system and method
JP2004227230A (ja) * 2003-01-22 2004-08-12 Nokodai Tlo Kk 光指示システム、アンケート収集システム、ゲームシステム、光指示装置、撮影装置、投影装置、光指示方法、位置特定方法、アンケート収集方法およびゲーム実行方法
CN101629806B (zh) * 2009-06-22 2011-01-05 哈尔滨工程大学 结合激光发射器的非线性ccd三维定位装置及定位方法
CN102095469B (zh) * 2010-12-04 2012-08-01 沈阳航空航天大学 一种利用摄像头的储罐液位测量装置及方法
CN104880176B (zh) * 2015-04-15 2017-04-12 大连理工大学 基于先验知识模型优化的运动物位姿测量方法
CN106885532B (zh) * 2016-09-09 2019-07-19 武汉滨湖电子有限责任公司 一种高精度的铁轨几何轮廓的检测方法
CN110057295B (zh) * 2019-04-08 2020-12-25 河海大学 一种免像控的单目视觉平面距离测量方法
CN110132374B (zh) * 2019-05-20 2020-07-31 哈尔滨理工大学 一种自补偿式激光液位测量系统
CN110188696B (zh) * 2019-05-31 2023-04-18 华南理工大学 一种水面无人装备多源感知方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106595807A (zh) * 2016-11-22 2017-04-26 中国科学院西安光学精密机械研究所 一种基于分布式光纤的长距离无源液位传感器

Also Published As

Publication number Publication date
CN110763306A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110763306B (zh) 一种基于单目视觉的液位测量系统及方法
CN107507235B (zh) 一种基于rgb-d设备采集的彩色图像和深度图像的配准方法
CN107223269B (zh) 三维场景定位方法和装置
CN111210468B (zh) 一种图像深度信息获取方法及装置
CN101697233B (zh) 一种基于结构光的三维物体表面重建方法
CN114255286B (zh) 一种多视角双目视觉感知的目标尺寸测量方法
CN106650701B (zh) 基于双目视觉的室内阴影环境下障碍物检测方法及装置
CN112686877B (zh) 基于双目相机的三维房屋损伤模型构建测量方法及系统
CN112967344B (zh) 相机外参标定的方法、设备、存储介质及程序产品
CN113744351B (zh) 基于多介质折射成像的水下结构光测量标定方法及系统
CN111062131A (zh) 一种输电线路弧垂计算方法和相关装置
CN112967345B (zh) 鱼眼相机的外参标定方法、装置以及系统
CN110889829A (zh) 一种基于鱼眼镜头的单目测距方法
CN111915723A (zh) 一种用于室内的三维全景构建方法和系统
CN110617772A (zh) 一种非接触式线径测量装置及方法
CN114018932A (zh) 基于矩形标定物的路面病害指标测量方法
CN112489193A (zh) 一种基于结构光的三维重建方法
CN114998448A (zh) 一种多约束双目鱼眼相机标定与空间点定位的方法
CN111105467A (zh) 一种图像标定方法、装置及电子设备
CN113723380B (zh) 基于雷达技术的人脸识别方法、装置、设备和存储介质
CN111985266A (zh) 尺度图确定方法、装置、设备及存储介质
CN115311624A (zh) 一种边坡位移监测方法、装置、电子设备及存储介质
CN115330684A (zh) 基于双目视觉与线结构光的水下构筑物表观缺陷检测方法
CN111047638B (zh) 单目测距装置
CN111047639B (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