发明内容
为了解决现有技术中的上述问题,即现有安瓿瓶液位检测无法兼容不同规格安瓿瓶以及需要人工除标签的问题,本发明提供了一种自动配液安瓿瓶液位检测方法,该安瓿瓶液位检测方法包括:
步骤S10,基于世界坐标系、相机坐标系、像素坐标系之间的转换关系,通过张正友标定法进行相机内参和外参标定;
步骤S20,通过标定后的相机在设定种类光源以及设定光源照明方向下获取待检测安瓿瓶图像;
步骤S30,通过双边滤波法进行所述待检测安瓿瓶图像的去噪,并对去噪后的图像进行二值化以及直方图均衡化处理,获得预处理图像;
步骤S40,通过基于亮度变化的自适应ROI提取方法获取所述预处理图像中亮度高于设定亮度阈值的矩形区域,获得ROI区域图;
步骤S50,通过边缘检测方法提取所述ROI区域图的边缘,并通过椭圆检测提取横向线条密集度最大区域的最下方的曲线,以曲线的水平切线作为安瓿瓶液位线。
在一些优选的实施例中,所述世界坐标系、相机坐标系、像素坐标系之间的转换关系为:
其中,u、v代表像素坐标系坐标,Xw、Yw、Zw代表世界坐标系坐标,Xc、Yc、Zc代表相机坐标系坐标,R、t分别代表相机坐标系相对于世界坐标系的旋转矩阵、平移矩阵,fx、fy分别为相机的X轴焦距、Y轴焦距,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向像素数、纵向像素数,Xc0、Yc0、Zc0为相机光心Co的世界坐标系坐标,T代表矩阵转置。
在一些优选的实施例中,所述设定种类光源以及设定光源照明方向分别为:
所述设定种类光源为红光;
所述设定光源照明方向为背向照明。
在一些优选的实施例中,步骤S40包括:
步骤S41,对所述预处理图像进行高斯模糊以及设定亮度阈值的全局二值化处理,获得二值化的亮度对比度图;
步骤S42,以所述二值化的亮度对比度图中像素值为1的区域的最小外接矩形框进行所述预处理图像的ROI区域提取,获得ROI区域图。
在一些优选的实施例中,所述边缘检测方法为基于Canny算子的边缘检测法。
在一些优选的实施例中,步骤S50之后还设置有安瓿瓶液面坐标转换步骤,其方法为:
步骤S60,获取所述安瓿瓶液位线的像素坐标系Y轴坐标v,所述液位线与曲线切点的像素坐标系X轴坐标u,结合相机坐标系与像素坐标系间的转换关系,获取(u,v)对应的相机坐标系X,Y,Z轴坐标(xc,yc,zc);
步骤S70,基于所述(u,v)对应的相机坐标系X,Y,Z轴坐标(xc,yc,zc),结合相机坐标系与世界坐标系间的转换关系,获取(u,v)对应的世界坐标系X,Y,Z轴坐标(xw,yw,zw)。
在一些优选的实施例中,所述(u,v)对应的相机坐标系X,Y,Z轴坐标(xc,yc,zc),其计算方法为:
其中,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向像素数、纵向像素数,fx、fy分别为相机的X轴焦距、Y轴焦距。
在一些优选的实施例中,所述(u,v)对应的世界坐标系X,Y,Z轴坐标(xw,yw,zw),其计算方法为:
其中,Xw、Yw、Zw为v对应的世界坐标系X轴、Y轴、Z轴坐标,Xc、Yc、Zc为v对应的相机坐标系X轴、Y轴、Z轴坐标,R、T分别代表相机坐标系相对于世界坐标系的旋转矩阵、平移矩阵,-1代表矩阵的逆。
本发明的另一方面,提出了一种自动配液安瓿瓶液位检测系统,基于上述的自动配液安瓿瓶液位检测方法,该安瓿瓶液位检测系统包括以下模块:
参数标定模块,配置为基于世界坐标系、相机坐标系、像素坐标系之间的转换关系,通过张正友标定法进行相机内参和外参标定;
图像采集模块,配置为通过标定后的相机在设定种类光源以及设定光源照明方向下获取待检测安瓿瓶图像;
预处理模块,配置为通过双边滤波法进行所述待检测安瓿瓶图像的去噪,并对去噪后的图像进行二值化以及直方图均衡化处理,获得预处理图像;
ROI区域提取模块,配置为通过基于亮度变化的自适应ROI提取方法获取所述预处理图像中亮度高于设定亮度阈值的矩形区域,获得ROI区域图;
液面检测模块,配置为通过边缘检测方法提取所述ROI区域图的边缘,并通过椭圆检测提取横向线条密集度最大区域的最下方的曲线,以曲线的水平切线作为安瓿瓶液位线。
本发明的第三方面,提出了一种基于安瓿瓶液位检测的剩余药液占比检测方法,该剩余药液占比检测方法包括:
步骤G10,通过上述的自动配液安瓿瓶液位检测方法获取安瓿瓶液位线;
步骤G20,通过上述的自动配液安瓿瓶液位检测方法获取安瓿瓶液位线的与曲线切点的世界坐标系Z轴坐标zw以及安瓿瓶底部中心点的世界坐标系Z轴坐标z,并结合安瓿瓶底部面积s获取安瓿瓶理想药液体积V:
V=s(zw-z)
步骤G30,将安瓿瓶液位线的与曲线切点投影至世界坐标系Z轴,获得投影点Z轴坐标za,并结合安瓿瓶外壁线与图像的X轴方向的夹角α获取安瓿瓶实际药液体积Va:
Va=s(za-z)/sinα
步骤S40,基于所述安瓿瓶理想药液体积V以及所述安瓿瓶实际药液体积Va,计算安瓿瓶剩余药液占比r:
本发明的有益效果:
(1)本发明自动配液安瓿瓶液位检测方法,以波长较长的红光作为采集安瓿瓶图像的背景光源,充分利用波长较长的红光在较暗物体中穿透性较强的特性,采集的安瓿瓶图像对比度更高,从而提升了后续液位检测的准确性和精度。
(2)本发明自动配液安瓿瓶液位检测方法,考虑到打光部位在整个采集到的图像中亮度比其他区域更高的特征,通过高斯模糊和全局二值化,提取到亮度最高的矩形区域作为液位检测的ROI区域,这种基于亮度变化的自适应ROI提取方法能够更为准确和有效地提取到待检测的安瓿瓶区域,既提高了检测方法的计算效率,同时又消除了背景区域特征的干扰,从而提升了后续液位检测的准确性、精度和效率。
(3)本发明自动配液安瓿瓶液位检测方法,充分考虑到安瓿瓶中药液作为亲水性液体在安瓿瓶壁上呈现下凹弧度,以及液面与安瓿瓶壁的圆形界限在图像中呈现两条椭圆下凹曲线的特性,在横截面中横向线较多的区域中,以下面一条椭圆下凹曲线在最低点的水平切线作为液面位置,从而准确、高效地实现安瓿瓶液位检测。
(4)本发明自动配液安瓿瓶液位检测方法,在瓶身倾斜的情况下,结合液位检测结果,以竖直方向的液位计算理想药液体积,以瓶壁与坐标系竖直方向的角度计算实际药液体积,从而精确、高效地获取安瓿瓶剩余药液占比。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明提供一种自动配液安瓿瓶液位检测方法,主要包括以下几个步骤:相机标定、视觉图像处理(包括图像采集、图像预处理、图像二值化、感兴趣区域(Region ofInterest,ROI)提取、安瓿瓶边缘检测、液位检测)、三维坐标计算。在整个技术方案中,根据本发明实际的应用场景,在采集更为清晰有效的图像的基础上,通过根据图像亮度变化自适应的ROI提取方法,提取到更为清晰有效的ROI区域,同时基于液面形状的物理性质,以液面位置的两条椭圆拟合曲线中下面的一条曲线最底部点处的切线作为液面位置,从而获取到更为精确的液位。
本发明的一种自动配液安瓿瓶液位检测方法,该安瓿瓶液位检测方法包括:
步骤S10,基于世界坐标系、相机坐标系、像素坐标系之间的转换关系,通过张正友标定法进行相机内参和外参标定;
步骤S20,通过标定后的相机在设定种类光源以及设定光源照明方向下获取待检测安瓿瓶图像;
步骤S30,通过双边滤波法进行所述待检测安瓿瓶图像的去噪,并对去噪后的图像进行二值化以及直方图均衡化处理,获得预处理图像;
步骤S40,通过基于亮度变化的自适应ROI提取方法获取所述预处理图像中亮度高于设定亮度阈值的矩形区域,获得ROI区域图;
步骤S50,通过边缘检测方法提取所述ROI区域图的边缘,并通过椭圆检测提取横向线条密集度最大区域的最下方的曲线,以曲线的水平切线作为安瓿瓶液位线。
为了更清晰地对本发明自动配液安瓿瓶液位检测方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。
本发明第一实施例的自动配液安瓿瓶液位检测方法,包括步骤S10-步骤S50,各步骤详细描述如下:
步骤S10,基于世界坐标系、相机坐标系、像素坐标系之间的转换关系,通过张正友标定法进行相机内参和外参标定。
标定板在机器视觉、图像测量、摄影测量、三维重建等应用中,为校正镜头畸变,确定物理尺寸和像素间的换算关系,以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立相机成像的几何模型提供了重要的参考信息。
棋盘格是最流行、最常见的图案设计。一般首先通过对摄像机图像进行二值化并找到棋盘角点的候选点。过滤保留那些满足特定大小标准的四边形,并组织在一个规则的网格结构中,网格结构的尺寸与用户指定的尺寸匹配。在对标定板进行初步检测后,可以以非常高的精度确定角点位置。这是因为角(数学上:鞍点)基本上是无限小的,因此在透视变换或镜头失真下是无偏的。
因为相机需要聚焦在特定的距离上标定,所以标定板的物理尺寸是一个重要的考虑因素。为了精确的标定,当摄像机看到标定目标填充大部分图像时,摄像机模型最好是受到约束的。
根据经验,为了尽可能减小相机标定的误差,棋盘格的规格选取应参考以下几点:
(1)当正面观察到清晰的标定板图像时,标定板的面积至少应该是可用像素面积的一半;
(2)为了保持旋转不变,行数必须是偶数,列数必须是奇数,或者相反。例如,如果两者都是偶数,则存在180度旋转的歧义。对于单台相机的校准,这不是一个问题,但如果相同的点需要由两个或更多的相机识别(对于立体校准),这种模糊性必须不存在。
如图2所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的相机标定流程示意图,在相机的标定过程中,标定板的精度与准确度很大程度上会影响到相机标定的精度,传统相机标定过程包括:
(1)相机内参标定:采用张正友标定法,在调整好相机的焦距后,通过相机采集各个方位、姿态的标定板图片,获取相机的内参;
(2)固定相机:调整相机至相机镜头的中心轴垂直于安瓿瓶的竖直存放方向,并调整相机与安瓿瓶的距离;
(3)外参标定:在与镜头中心轴垂直的平面,放置标定版,并确定世界坐标系原点,相机采集的张正友标定板图像如图3所示,得到对应点的像素坐标与世界坐标,并计算得到相机外参。
获取相机的内参和外参过程,都需要尽量减小其标定误差,提高最后计算三维坐标的精度。本发明一个实施例中,根据相机的焦距、物体到相机的距离,考虑真实情况中相机距离安瓿瓶的位置在5-20cm左右,为了精确地标定相机的内外参数,选定7*5的棋盘格标定板,每个格子边长为12mm,这样能相应减小标定误差。还有一些其他途径,也能从其他方面,减小标定误差,例如:
(1)标定板平面保持平整,标定板是一个二维的图像,无论是手动打印还是现有的标定板,都需要将所有的棋盘格保持在同一个平面上;
(2)内参标定拍摄图片时,相机最好要从标定板不同的视角进行拍摄,拍摄照片要覆盖标定板的每一个位置,图片数量在20张以上;
(3)标定内参时,剔除重投影误差较大的标定图像,标定图像的重投影误差用来判定标定效果,重投影误差较大的标定图像,往往角点检测不太准确从而影响标定。
从世界坐标系转换到相机坐标系如式(1)所示:
从相机坐标系转换到像素坐标系如式(2)所示:
从世界坐标系转换到像素坐标系如式(3)所示:
因此由相机的外参,可以求出相机Co在世界坐标系下的坐标,如式(4)所示:
其中,u、v代表像素坐标系坐标,Xw、Yw、Zw代表世界坐标系坐标,Xc、Yc、Zc代表相机坐标系坐标,R、t分别代表相机坐标系相对于世界坐标系的旋转矩阵、平移矩阵,fx、fy分别为相机的X轴焦距、Y轴焦距,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向像素数、纵向像素数,Xc0、Yc0、Zc0为相机光心Co的世界坐标系坐标,T代表矩阵转置。
以上的转换公式仅考虑了无畸变的情况,在小孔模型中,一条指向在成像平面上的像仍然是直线。但是在实际拍摄的过程中,由于透镜的存在,往往将一条直线投影成了曲线,越靠近图像的边缘,这种现象越明显。透镜往往是中心对称的,因而这种不规则的畸变通常也是径向对称的,统称径向畸变。
畸变后图像坐标与理想无畸变情况下坐标关系如式(6)所示:
其中,(u,v)为理想无畸变的像素坐标,
为畸变后的像素坐标,(x,y)为理想无畸变的归一化图像坐标,
为畸变后的归一化图像坐标,k
1和k
2为径向畸变的系数。
径向畸变的中心和相机的主心在相同的位置,如式(7)所示:
其中,α、β分别表示图像在x和y方向单位距离上像素的个数、γ是表示像素坐标系两个坐标轴的扭曲的扭曲参数。
令γ=0,则径向畸变像素坐标如式(8)所示:
对上式进一步转换,获得式(9):
设共采集n个图像,每个图像有m个点,则有2mn个径向畸变像素坐标,畸变像素坐标矩阵如式(10)所示:
Dk=d (10)
其中,D表示约束方程系数矩阵,k表示畸变系数,d表示等式又短非齐次项。
基于所述畸变像素坐标矩阵,通过最小二乘法获得畸变系数,如式(11)所示:
k=[k1 k1]T=(DTD)-1DTd (11)
目标函数采用最小化重投影误差,将空间坐标按照估计的投影方程投影到图像上,使像素估计值与实际观测值之间的误差最小,通过最大似然估计方法优化目标函数,如式(12)所示:
其中,
表示M
ij的像素点,
表示相机内参,R
i和t
i表示第i幅图像上对应相机的旋转矩阵和平移矩阵M
ij表示第i幅图像上第j个像点对应的标定板上的三维点。
基于所述目标函数,通过LM算法,以畸变系数的解作为初始值进行迭代获得目标函数的最优解。
通过最大似然估计和LM算法对目标函数进行迭代优化,得到最优解,能减少因噪声带来的标定误差,获取更精确的相机内外参数,提高最终求取世界坐标的精度。
步骤S20,通过标定后的相机在设定种类光源以及设定光源照明方向下获取待检测安瓿瓶图像。
三维客观世界中的物体经由摄像机,利用光学成像原理形成影像并把其处理为计算机能够识别格式的过程称之为图像的采集。在图像采集过程中,光照起着重要作用,它可以直接影响形成图像的质量和图像的应用效率。由于安瓿瓶多数为透明玻璃制品,且药液也大部分是无色的液体。因此在图像采集时,要突出药瓶的轮廓以及药液位置,需要用到打光设备。视觉光源有白色、蓝色、红色、绿色、红外、紫外等颜色,每种颜色的波长各不相同,也适用于不同的场景下使用。LED视觉光源颜色参数如表1所示:
表1
代码 |
颜色 |
波长(nm) |
R |
红 |
625 |
G |
绿 |
517 |
B |
蓝 |
465 |
V |
紫 |
400 |
W |
白 |
色温:5500k |
IR |
红外 |
850 |
UV |
紫外 |
385 |
白色光源通常用色温来界定,白色光源适用性广,亮度高,特别是拍摄彩色图像时使用更多。蓝色光源波光适用产品:银色背景产品(如钣金,车加工件等)、薄膜上金属印刷品。红色光源的波长通常在600-720之间,其波长比较长,可以透过一些比较暗的物体,例如底材黑色的透明软板孔位定位、绿色线路板线路线路检测,透光膜厚度检测等,采用红色光源更能提高对比度。绿色光源界于红色与蓝色之间,主要针对产品:红色背景产品,银色背景产品(如钣金,车加工件等)。红外光属于不可见光,其透过力强。一般LCD屏检测、视频监控行业应用比较普遍。紫外光其波长短,穿透力强,主要应用于证件检测、触摸屏ITO检测、布料表面破损、点胶溢胶检测等方面,金属表面划痕检测等。
如图4所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的前向照明和背向照明示意图,这是机器视觉照明系统最常用的两种照明方式,前向照明光源置于物体前面,主要用于照射物体的表面缺陷以及细节特征。而背向照明光源置于物体后面,提高目标物与周边环境的对比度,能突显物体的轮廓及液面位置,主要用于精密测量系统中。
由于背光源常被用来突出物体轮廓,考虑到药瓶与药液透明无色的特点,本发明选择背向照明的红光光源对安瓿瓶进行打光。
步骤S30,通过双边滤波法进行所述待检测安瓿瓶图像的去噪,并对去噪后的图像进行二值化以及直方图均衡化处理,获得预处理图像。
由于光源与现场背景的复杂性,采集到的图片往往有很多噪声,需要对图像去噪。而此视觉检测方案中,边缘检测是重要的一个环节,因此为了在去噪过程中,尽量保留边缘信息,采用了双边滤波的方法,在保持边界清晰的情况下有效地去除噪音。另外,图像之后会进行二值化处理,同样考虑到边界信息的保留,会对图像进行直方图均衡化。
不低于30万像素的相机,采集到的图像大小一般为640*480,其中,每个像素占据8位字节,整幅图像传输时间较长,这会大大影响视觉算法效率。只有黑、白两种显示效果的图像被称为二值图像,而二值化则是将一幅图像上每一个像素点的灰度值设置为0或255,使得整个图像呈现出黑白效果的过程。二值图像虽然只有黑白两种显示效果,但是在一些特定情况下,已经可以满足技术方案的要求。因为二值图像识别快速、单位存储空间信息量大的特点,现在以二值图像作为输入数据的方法在许多实用图像处理系统中得到应用。本发明选用动态阈值法进行图像二值化,该方法阈值的选择不但跟像素灰度及其领域像素灰度值有关,而且还跟像素的坐标位置有很大关系。在考虑像素的坐标位置关系的前提下,对不同像素自动选择不同阈值,实现动态阈值法的图像二值化,如图5所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的预处理图像示意图。
步骤S40,通过基于亮度变化的自适应ROI提取方法获取所述预处理图像中亮度高于设定亮度阈值的矩形区域,获得ROI区域图:
步骤S41,对所述预处理图像进行高斯模糊以及设定亮度阈值的全局二值化处理,获得二值化的亮度对比度图;
步骤S42,以所述二值化的亮度对比度图中像素值为1的区域的最小外接矩形框进行所述预处理图像的ROI区域提取,获得ROI区域图。
对于一张640*480的图像,往往只有一部分是想要关注的区域,即安瓿瓶出现的区域。ROI的提取,既提高了算法的计算效率,同时又消除了背景区域特征的干扰。因此本发明提出了一种基于亮度变化的自适应ROI提取方法,如图6所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的高斯模糊图和全局二值化图,图6左图中高斯模糊后的图可以看出,打光区域明显会比其他区域亮度更大一些,对高斯模糊后的图进行全局二值化得到图6右图,其中的白色区域即为亮度最大的区域,根据亮度最大的区域提取其矩形框对应的预处理图像对应区域,获得如图7所示的ROI区域图。
步骤S50,通过边缘检测方法提取所述ROI区域图的边缘,并通过椭圆检测提取横向线条密集度最大区域的最下方的曲线,以曲线的水平切线作为安瓿瓶液位线。
边缘检测即通过特定算法提取图像中目标物与背景区域间的交汇线,而安瓿瓶边缘检测是实现液位检测的先决条件。
本发明中,边缘检测方法为基于Canny算子的边缘检测法。
边缘检测也是一种滤波,不同的算子有不同的提取效果。传统的边缘检测算子有Sobel算子、Robert算子、Prewitt算子、LOG算子等。Sobel算子隶属于一阶微分算子,通过对图像中每个点做卷积来获取图像边缘,该算子在灰度渐变程度较大或者包含噪声较多的图像中表现性能优于其他算子。Robert通过局部差分算子来寻找图像边缘,在具有陡峭的低噪声图像中性能较好。Prewitt算子也是一阶微分算子的一种,而且在滤波过程中采用了平均滤波方法。LOG算子先运用高斯平滑滤波器和拉普拉斯锐化器相结合的方法来对图像进行平滑处理,然后再对平滑后图像进行边缘检测。
如图8所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的边缘检测结果图,Canny边缘算子则是一个多级边缘检测算法,其在一阶微分算子的基础上,增加了非最大值抑制和双阈值两项改进,利用非极大值抑制不仅可以有效地抑制多响应边缘,而且还可以提高边缘的定位精度;利用双阈值可以有效减少边缘的漏检率,因此Canny算子不容易受噪声干扰,能够检测到真正的弱边缘。
安培瓶中液面位置的检测,在配液过程中,为药品的精确计量提供有效的参考,因此液位检测也是配液机器人中视觉检测功能的一个重要模块,对准确度与精确度的要求都很高。如图9所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的液面位置示意图,可以看出,中间的带有弧度的线即为检测到的液面位置,由于液体器壁附近的液面向下弯曲(亲水性的液体都有这种表现),导致观察到的页面也是凹液面,所以检测到的边缘也是两条曲线,由读取示数的规则可知,我们需要以下面凹的曲线的最底端的切线,作为液面位置,如图10所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的采集图像中液位线示意图。
液面检测主要包括两部分:
(1)缩小液面所在的关注区域:虽然液面是一条曲线,但此处也是整幅图像中横向线较多,覆盖范围较宽的位置,根据此特性,可以确定液面所在的区域;
(2)液位线检测:在定位后的区域进行椭圆检测,找到最下面椭圆的最底端的水平切线,即为液面。
步骤S50之后还设置有安瓿瓶液面坐标转换步骤,如图11所示,为本发明自动配液安瓿瓶液位检测方法一种实施例的液面世界坐标转换流程示意图,其方法为:
步骤S60,获取所述安瓿瓶液位线的像素坐标系Y轴坐标v,所述液位线与曲线切点的像素坐标系X轴坐标u,结合相机坐标系与像素坐标系间的转换关系,获取(u,v)对应的相机坐标系X,Y,Z轴坐标(xc,yc,zc),如式(13)所示:
其中,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向像素数、纵向像素数,fx、fy分别为相机的X轴焦距、Y轴焦距。
步骤S70,基于所述(u,v)对应的相机坐标系X,Y,Z轴坐标(xc,yc,zc),结合相机坐标系与世界坐标系间的转换关系,获取(u,v)对应的世界坐标系X,Y,Z轴坐标(xw,yw,zw),如式(14)所示:
其中,R、t分别代表相机坐标系相对于世界坐标系的旋转矩阵、平移矩阵,-1代表矩阵的逆。
机器人配制药液的过程中,主要是对药瓶的液面位置进行定位,由于是针对不同种类和不同规格的药瓶进行测量,并且药瓶外侧带有文字标签。因此利用图像处理技术实现物体尺寸测量时,进行相机标定是非常关键的环节,其标定结果的精确度及关键算法的稳定性和可靠性直接影响到物体定位的精度。针对实际应用场景,液面位置定位的整体流程包括:
(1)获取液面最低点像素坐标:相机在外参标定后,位置不变,采集药瓶图像,并通过视觉处理,确定液面位置的像素Y轴坐标v,结合相机坐标系与像素坐标系间的转换关系,获取v对应的相机坐标系Y轴坐标yc;
(2)确定目标点在世界坐标系Z轴方向的坐标:利用相机内参和外参,根据由像素坐标到世界坐标转换的公式,求取液位平面对应的Y轴世界坐标系坐标。
上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。
本发明第二实施例的自动配液安瓿瓶液位检测系统,基于上述的自动配液安瓿瓶液位检测方法,该安瓿瓶液位检测系统包括以下模块:
参数标定模块,配置为基于世界坐标系、相机坐标系、像素坐标系之间的转换关系,通过张正友标定法进行相机内参和外参标定;
图像采集模块,配置为通过标定后的相机在设定种类光源以及设定光源照明方向下获取待检测安瓿瓶图像;
预处理模块,配置为通过双边滤波法进行所述待检测安瓿瓶图像的去噪,并对去噪后的图像进行二值化以及直方图均衡化处理,获得预处理图像;
ROI区域提取模块,配置为通过基于亮度变化的自适应ROI提取方法获取所述预处理图像中亮度高于设定亮度阈值的矩形区域,获得ROI区域图;
液面检测模块,配置为通过边缘检测方法提取所述ROI区域图的边缘,并通过椭圆检测提取横向线条密集度最大区域的最下方的曲线,以曲线的水平切线作为安瓿瓶液位线。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的自动配液安瓿瓶液位检测系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的基于安瓿瓶液位检测的剩余药液占比检测方法,该剩余药液占比检测方法包括:
步骤G10,通过上述的自动配液安瓿瓶液位检测方法获取安瓿瓶液位线。
理想状态下,安瓿瓶的竖直方向与图像的Y轴方向、世界坐标系Z轴方向平行,但是往往由于机器夹爪的受力不均匀或者机器托盘的不绝对平行于地面,导致拍摄到的安瓿瓶与图像的Y轴存在一定角度的倾斜,如图12所示,本发明基于自动配液安瓿瓶液位检测的药液占比检测方法的倾斜状态安瓿瓶示意图。
步骤G20,假设安瓿瓶最初始状态是理想状态,即安瓿瓶的竖直方向与图像的Y轴方向平行,这时候可以提前获取到安瓿瓶的以下信息:安瓿瓶底部所处的世界坐标系Z轴的值为z,假设安瓿瓶底部面积为s。可以获取原始理想状态下液位线,并求出其世界坐标Z轴值zw,因此可以计算出原始安瓿瓶药液体积V,如式(15)所示:
V=s(zw-z) (15)
步骤G30,假设取出部分药液后,安瓿瓶有一定的倾斜,参考图12。根据液位线检测方法,得到A点位置及其在世界坐标系Z轴方向的值za,图12中点B是点A在平底平面的投影点,点C是点A在世界坐标Z轴值为zw上的投影点,安瓿瓶与图像的Y轴倾斜角为α(可以由检测到的安瓿瓶外壁的线与图像的X轴方向形成的夹角计算),此时可以获取安瓿瓶实际药液体积Va,如式(16)所示:
Va=s(za-z)/sinα (16)
步骤S40,基于所述安瓿瓶理想药液体积V以及所述安瓿瓶实际药液体积Va,计算安瓿瓶剩余药液占比r,如式(17)所示:
本发明第四实施例的一种电子设备,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的自动配液安瓿瓶液位检测方法。
本发明第五实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的自动配液安瓿瓶液位检测方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。