发明内容
为了解决现有技术中的上述问题,即现有的安瓿瓶自动配液机器人无法针对多种不同型号尺寸的安瓿瓶进行自动配液的问题,本发明提供了一种用于配液机器人的安瓿瓶瓶颈检测系统,所述系统包括:相机标定模块、图像获取模块、图像预处理模块、图像二值化模块、ROI提取模块、边缘检测模块、轮廓精确提取模块、瓶颈检测模块和坐标转换模块;
所述相机标定模块,配置为预设相机焦距,将相机固定并标定相机外参;
所述图像获取模块,配置为获取红色背光且处于最优光照强度下的目标图像;
所述图像预处理模块,配置为基于所述目标图像,通过双边滤波的方法去除图像噪音,生成去噪目标图像;
所述图像二值化模块,配置为将所述去噪目标图像转化为灰度目标图像,并通过动态阈值法生成二值化目标图像;
所述ROI提取模块,配置为基于所述二值化目标图像,划定ROI图像;
所述边缘检测模块,配置为基于所述ROI图像,进行边缘检测获得目标安瓿瓶边缘图像;
所述轮廓精确提取模块,配置为基于所述目标安瓿瓶边缘图像,先确定目标安瓿瓶矩形区域,通过针对每个安瓿瓶像素点查找对称点的方法获取安瓿瓶精确轮廓图像;
所述瓶颈检测模块,配置为基于所述安瓿瓶精确轮廓图像,搜索轮廓拐点获取两个瓶颈像素坐标;
所述坐标转换模块,配置为基于所述瓶颈像素坐标转换到世界坐标获取瓶颈三维坐标,机器人根据所述瓶颈三维坐标对安瓿瓶进行切割配液。
在一些优选的实施方式中,所述瓶颈检测模块包括:基于所述安瓿瓶精确轮廓图像,获取安瓿瓶外轮廓曲线,绘制安瓿瓶外轮廓曲线的对称轴,从下往上逐对搜索,存在一对像素点的x轴的差值呈现先减小后增大,则为瓶颈像素坐标。
在一些优选的实施方式中,所述相机标定模块,包括:所述内参标定单元和所述外参标定单元;所述内参标定单元,配置为调整好相机的相距后,通过相机采集各方位图像和姿态标定板图像,并通过OpenCV进行标定获取相机内参;
所述外参标定单元,配置为将目标安瓿瓶竖直放置于镜头中心轴方向,并调整距离使相机获取的图像能够完全拍摄整个安瓿瓶,在于安瓿瓶竖直方向平行且与镜头中心轴垂直的平面放置标定板,建立世界三维坐标系,获得设定点的像素坐标与世界三维坐标,进而获得相机外参。
在一些优选的实施方式中,所述边缘检测模块,具体包括:
基于所述ROI图像,通过Canny边缘算子检测目标安瓿瓶的边缘图像。
在一些优选的实施方式中,所述轮廓精确提取模块,配置为将所述目标安瓿瓶边缘图像向X轴方向投影,得到安瓿瓶边缘的投影图;
将所述安瓿瓶边缘的投影图的像素值连续超过预设阈值的区域设置为安瓿瓶的轮廓区域;
假设像素点(xm,ym)为安瓿瓶实际轮廓点,检测ym所在行的像素点(xi,ym),若不存在其他像素点距离安瓿瓶区域更近,且在另一侧存在对称点,则像素点(xm,ym)及其对应点设定为安瓿瓶轮廓点。
在一些优选的实施方式中,所述坐标转换模块,具体包括:
通过世界坐标到像素坐标的转换公式,结合相机在世界坐标系下的坐标,将瓶颈像素坐标进行转换为瓶颈三维坐标;
所述世界坐标到像素坐标的转换公式为:
其中,Xw、Yw、Zw为世界坐标,u和v表示像素坐标,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,R表示像极坐标系相对世界坐标系的旋转矩阵,t表示像极坐标系相对世界坐标系的平移矩阵,fx和fy表示相机的焦距;
设两个瓶颈位置的像素坐标为(x1i,y1i)和(x2i,y2i);
设待求点P在图像中的像素坐标为(u,v),点P在相机坐标系中的坐标Pc(xc,yc,zc)有:
P点的世界坐标Pw(xw,yw,zw)为:
将瓶颈位置的像素坐标带入获得瓶颈三维坐标。
在一些优选的实施方式中,所述图像预处理模块,还包括通过直方图均衡化的方法对去噪目标图像进行图像增强。
本发明的另一方面,提出了一种用于配液机器人的安瓿瓶瓶颈检测方法,所述方法包括:
步骤S100,预设相机焦距,将相机固定并标定相机外参;
步骤S200,获取红色背光且处于最优光照强度下的目标图像;
步骤S300,基于所述目标图像,通过双边滤波的方法去除图像噪音,生成去噪目标图像;
步骤S400,将所述去噪目标图像转化为灰度目标图像,并通过动态阈值法生成二值化目标图像;
步骤S500,基于所述二值化目标图像,划定ROI图像;
步骤S600,基于所述ROI图像,进行边缘检测获得目标安瓿瓶边缘图像;
步骤S700,基于所述目标安瓿瓶边缘图像,先确定目标安瓿瓶矩形区域,通过针对每个安瓿瓶像素点查找对称点的方法获取安瓿瓶精确轮廓图像;
步骤S800,基于所述安瓿瓶精确轮廓图像,搜索轮廓拐点获取两个瓶颈像素坐标;
步骤S900,基于所述瓶颈像素坐标转换到世界坐标获取瓶颈三维坐标,机器人根据所述瓶颈三维坐标进行切割配液。
本发明的第三方面,提出了一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的用于配液机器人的安瓿瓶瓶颈检测方法。
本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的用于配液机器人的安瓿瓶瓶颈检测方法。
本发明的有益效果:
(1)本发明借助视觉检测功能,通过利用安瓿瓶的几何特征识别安瓿瓶瓶颈,能够对任何规格型号的安瓿瓶进行精确的瓶颈检测,提高了自动配液机器人的泛用性和精确性,精确识别瓶颈位置有效避免了医护人员配药时容易出错、药品浪费、药液毒性难以处理、器材危险和配药效率低的问题。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明提供一种用于配液机器人的安瓿瓶瓶颈检测系统,本系统通过利用安瓿瓶的几何特征识别安瓿瓶瓶颈,能够对任何规格型号的安瓿瓶进行精确地检测瓶颈,提高了自动配液机器人的泛用性和精确性。
本发明的一种用于配液机器人的安瓿瓶瓶颈检测系统,包括:相机标定模块、图像获取模块、图像预处理模块、图像二值化模块、ROI提取模块、边缘检测模块、轮廓精确提取模块、瓶颈检测模块和坐标转换模块;
所述相机标定模块,配置为预设相机焦距,将相机固定并标定相机外参;
所述图像获取模块,配置为获取红色背光且处于最优光照强度下的目标图像;
所述图像预处理模块,配置为基于所述目标图像,通过双边滤波的方法去除图像噪音,生成去噪目标图像;
所述图像二值化模块,配置为将所述去噪目标图像转化为灰度目标图像,并通过动态阈值法生成二值化目标图像;
所述ROI提取模块,配置为基于所述二值化目标图像,划定ROI图像;
所述边缘检测模块,配置为基于所述ROI图像,进行边缘检测获得目标安瓿瓶边缘图像;
所述轮廓精确提取模块,配置为基于所述目标安瓿瓶边缘图像,先确定目标安瓿瓶矩形区域,通过针对每个安瓿瓶像素点查找对称点的方法获取安瓿瓶精确轮廓图像;
所述瓶颈检测模块,配置为基于所述安瓿瓶精确轮廓图像,搜索轮廓拐点获取两个瓶颈像素坐标;
所述坐标转换模块,配置为基于所述瓶颈像素坐标转换到世界坐标获取瓶颈三维坐标,机器人根据所述瓶颈三维坐标对安瓿瓶进行切割配液。
为了更清晰地对本发明用于配液机器人的安瓿瓶瓶颈检测系统进行说明,下面结合图1对本发明实施例中各功能模块展开详述。
本发明第一实施例的用于配液机器人的安瓿瓶瓶颈检测系统,包括步骤相机标定模块、图像获取模块、图像预处理模块、图像二值化模块、ROI提取模块、边缘检测模块、轮廓精确提取模块、瓶颈检测模块和坐标转换模块;各功能模块详细描述如下:
所述相机标定模块,配置为预设相机焦距,将相机固定并标定相机外参;
在本实施例中,所述相机标定模块,包括:所述内参标定单元和所述外参标定单元;所述内参标定单元,配置为调整好相机的相距后,通过相机采集各方位图像和姿态标定板图像,并通过OpenCV进行标定获取相机内参;优选的,采用如图2所示的格子边长为12mm的标定板;
所述外参标定单元,配置为将目标安瓿瓶竖直放置于镜头中心轴方向,并调整距离使相机获取的图像能够完全拍摄整个安瓿瓶,在于安瓿瓶竖直方向平行且与镜头中心轴垂直的平面放置标定板,建立世界三维坐标系,获得设定点的像素坐标与世界三维坐标,进而获得相机外参。
所述图像获取模块,配置为获取红色背光且处于最优光照强度下的目标图像;采集到的图像如图3所示;
摄像机利用光学成像原理,将物体形成影像,经过采样、量化以后转换为数字图像的过程称为图像的采集。在图像采集的过程中,光源是关键部分之一,光源的强度、颜色、均匀性等都可以突出图像所展示的信息,从而影响到图像的质量和图像的应用效率。由于医用安瓿瓶大多数为透明玻璃制品,且药液也多是无色的液体,而基于配液中的视觉检测场景,需要突出药瓶的轮廓,因此需要用到特殊的打光设备。视觉光源有白色、蓝色、红色、绿色、红外、紫外等颜色,每种颜色的波长不同,也有不同的适用场景。通常,红色光源波长较长,可以透过一些比较暗的物体,能提高对比度。
视觉照明系统最常用的照明方式有前向照明和背向照明,如图4所示。前向照明,顾名思义,光源是置于物体前面,能够照清楚物体表面的缺陷以及细节特征。背向照明的光源则置于物体的后面,用来提高物体与周边环境的对比度,从而突显物体的轮廓线条。
考虑到药瓶与药液透明无色的特点,因此采用红色背光源对安瓿瓶进行打光;
处于不同的背光光源亮度情况下,安瓿瓶距离背光光源与相机的距离发生变化时,安瓿瓶轮廓边缘检测效果存在差异,因此需要选取最优光照强度,在最优光照强度下获取目标图像。
所述最优光照强度,其获取方法为:
步骤B100,获取精确安瓿瓶边缘轮廓模板图像;
步骤B200,选取预设强度的初始光照强度设置为当前光照强度;所述预设强度的初始光照强度为打光设备可调节范围内最弱的光照强度;
步骤B300,将目标安瓿瓶在红色背光且当前光照强度下,获取用于光照强度调节的目标安瓿瓶轮廓图像;
步骤B400,基于所述用于光照强度调节的目标安瓿瓶轮廓图像,获取安瓿瓶底部直径;
步骤B500,基于所述安瓿瓶底部直径,将安瓿瓶边缘轮廓模板图像缩放至用于光照强度调节的目标安瓿瓶轮廓图像大小;
步骤B600,计算所述目标安瓿瓶轮廓图像大小和安瓿瓶边缘轮廓模板图像重叠的像素个数,并记录对应的光照强度;
步骤B700,将当前光照强度上调1级,重复步骤B300-步骤B600的方法直至遍历打光设备的可调节的所有光照强度,选取重叠的像素个数最多的对应的光照强度,作为最优光照强度。
所述图像预处理模块,配置为基于所述目标图像,通过双边滤波的方法去除图像噪音,生成去噪目标图像;
在本实施例中,所述图像预处理模块,还包括通过直方图均衡化的方法对去噪目标图像进行图像增强。
所述图像二值化模块,配置为将所述去噪目标图像转化为灰度目标图像,并通过动态阈值法生成二值化目标图像;生成的二值化图像如图5所示。二值化是将图像上的像素点的灰度值设置为0或者255,使得整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。二值图像虽然只有黑白两种显示效果,但是在一些特定情况下,已经可以满足我们的要求。
所述ROI提取模块,配置为基于所述二值化目标图像,划定ROI图像;本步骤提取ROI区域提高了算法的计算效率并消除了背景区域的干扰,与本申请前置的采用背光源的步骤结合既能屏蔽安瓿瓶背景部分的干扰信息,又突出了评审背景的边界线。本发明通过多次重复试验图像比较,进而划定ROI图像的大致范围,提取的ROI图像如图6所示;
所述边缘检测模块,配置为基于所述ROI图像,进行边缘检测获得目标安瓿瓶边缘图像;
在本实施例中,所述边缘检测模块,具体包括:
基于所述ROI图像,通过Canny边缘算子检测目标安瓿瓶的边缘图像。Canny边缘算子在一阶微分算子的基础上,增加了非极大值抑制和双阈值两项改进。因此Canny算子不容易受噪声干扰,并且能够检测到真正的弱边缘,之后的边缘检测方案将在此基础上进行与优化,获取的目标安瓿瓶的边缘图像如图7所示;
所述轮廓精确提取模块,配置为基于所述目标安瓿瓶边缘图像,先确定目标安瓿瓶矩形区域,通过针对每个安瓿瓶像素点查找对称点的方法获取安瓿瓶精确轮廓图像;本步骤中求得的每一个边缘像素点进行处理,去除噪声边缘,提取安瓿瓶精确轮廓。因此我们提出了一种是基于安瓿瓶轮廓的几何特征的方法,提取更精确的轮廓。从药瓶轮廓的几何特征分析,发现安瓿瓶边缘在安瓿瓶中轴线两侧具有对称性,而且药瓶边缘点相互之间应该距离很近。
在本实施例中,所述轮廓精确提取模块,配置为将所述目标安瓿瓶边缘图像向X轴方向投影,得到安瓿瓶边缘的投影图;
将所述安瓿瓶边缘的投影图的像素值连续超过预设阈值的区域设置为安瓿瓶的轮廓区域;
假设像素点(xm,ym)为安瓿瓶实际轮廓点,检测ym所在行的像素点(xi,ym),若不存在其他像素点距离安瓿瓶区域更近,且像素点(xm,ym)在对称轴另一侧存在对称点,则像素点(xm,ym)及其对应点设定为安瓿瓶轮廓点,获取的安瓿瓶精确轮廓图像如图8所示。
所述瓶颈检测模块,配置为基于所述安瓿瓶精确轮廓图像,搜索轮廓拐点获取两个瓶颈像素坐标;
配药机器人系统需要获取安瓿瓶颈位置,为瓶颈切割与掰断瓶子提供引导性数据。依附安瓿瓶轮廓提取后的结果,利用瓶颈到中轴线距离较近的特性,检测安瓿瓶瓶颈。因此提出了一种基于拐点的瓶颈检测方法,能精准、快速地找到安瓿瓶的瓶颈位置。
在本实施例中,所述瓶颈检测模块包括:基于所述安瓿瓶精确轮廓图像,获取安瓿瓶外轮廓曲线,绘制安瓿瓶外轮廓曲线的对称轴,从下往上逐对搜索,存在一对像素点的x轴的差值呈现先减小后增大,则为瓶颈像素坐标,如图9所示。
配液机器人,需要对安瓿瓶的瓶颈具体位置进行定位,从而引导机械臂进行切割、掰断。由于此方案是适用于是不同种类、不同规格、不同型号的安瓿瓶进行瓶颈检测与测量,并且药瓶外侧附带有药品标签的干扰。利用视觉图像技术实现物体位置定位时,相机内外参数的标定是非常重要的环节,其直接影响物体位置定位的准确度与精度。
所述坐标转换模块,配置为基于所述瓶颈像素坐标转换到世界坐标获取瓶颈三维坐标,机器人根据所述瓶颈三维坐标对安瓿瓶进行切割配液。
在本实施例中,所述坐标转换模块,具体包括:
通过世界坐标到像素坐标的转换公式,结合相机在世界坐标系下的坐标,将瓶颈像素坐标进行转换为瓶颈三维坐标;根据从世界坐标系转换到相机坐标系的公式(1)和从相机坐标系转换到像素坐标系的公式(2);获得世界坐标到像素坐标的转换公式(3)
所述世界坐标到像素坐标的转换公式(3)为:
其中,Xw、Yw、Zw为世界坐标,u和v表示像素坐标,u0、v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,R表示像极坐标系相对世界坐标系的旋转矩阵,T表示像极坐标系相对世界坐标系的平移矩阵,fx和fy表示相机的焦距,Zc表示相机坐标;
进而获得相机光心Co在世界三维坐标系下的转换公式(4):
设两个瓶颈位置的像素坐标为(x1i,y1i)和(x2i,y2i);
设待求点P在图像中的像素坐标为(u,v),点P在相机坐标系中的坐标Pc(xc,yc,zc)如公式(5)所示:
P点的世界坐标Pw(xw,yw,zw)如公式(6)所示:
将瓶颈位置的像素坐标带入获得瓶颈三维坐标。
在小孔模型中,一条直线在成像平面上的向应该仍为直线,但是在实际拍摄过程中,由于拍摄设备均用到了透镜,往往将直线投影为曲线,越靠近图像的边缘越明显。透镜往往是中心对称的,以至于这种不规则的畸变通常是径向对称的,统称径向畸变。
本系统还包括畸变消除模块,设
为畸变后的像素坐标,(u,v)表示理想的无畸变的像素坐标,
为畸变后归一化图像坐标,(x,y)表示理想的无畸变的归一化图像坐标,则径向畸变图像坐标如公式(7)所示:
其中,k1和k2表示径向畸变的系数;
径向畸变的中心位置与相机的主心位置相同,如公式(8)所示:
其中,其中α、β表示图像在x和y方向上单位距离上像素的个数,γ是扭曲参数表示像素坐标系两个坐标轴的扭曲;
设γ=0,则径向畸变像素坐标如公式(9)所示:
即:
设有n个图像,每个图像有m个点,则有2mn个径向畸变像素坐标,畸变像素坐标矩阵为:
Dk=d
其中,D表示约束方程系数矩阵,k表示畸变系数,d表示等式又短非齐次项;
基于所述畸变像素坐标矩阵,通过最小二乘法获得畸变系数:
k=[k1 k1]T=(DTD)-1DTd
目标函数采用最小化重投影误差,将空间坐标按照估计的投影方程投影到图像上,使像素估计值与实际观测值之间的误差最小,通过最大似然估计方法优化目标函数:
其中,
表示M
ij的像素点,K表示相机内参,R
i和t
i表示第i幅图像上对应相机的旋转矩阵和平移矩阵M
ij表示第i幅图像上第j个像点对应的标定板上的三维点;
基于所述目标函数,通过LM算法,以畸变系数的解作为初始值进行迭代获得目标函数的最优解。
通过最大似然估计和LM算法对目标函数进行迭代优化,得到最优解,能减少因噪声带来的标定误差,获取更精确的相机内外参数,提高最终求取世界坐标的精度。
为适应各种规格的安瓿瓶配药,我们借助视觉检测功能,设计并实现了一套适用任何规格、型号的安瓿瓶的视觉处理方案。视觉检测方案主要是基于图像处理技术,完成药瓶关键尺寸数据的测量,包括安瓿瓶轮廓、瓶颈的检测,以便为机器人机械手的运动和抓取及药瓶的消毒、切割与开启提供引导性数据,对抓取对象进行精准的测量和定位,为整个机器人系统准确而有序地运行提供强有力的保证。
需要说明的是,上述实施例提供的用于配液机器人的安瓿瓶瓶颈检测系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第二实施例的用于配液机器人的安瓿瓶瓶颈检测方法,包括步骤S100-步骤S900,各步骤详述如下:
步骤S100,预设相机焦距,将相机固定并标定相机外参;
步骤S200,获取红色背光且处于最优光照强度下的目标图像;
步骤S300,基于所述目标图像,通过双边滤波的方法去除图像噪音,生成去噪目标图像;
步骤S400,将所述去噪目标图像转化为灰度目标图像,并通过动态阈值法生成二值化目标图像;
步骤S500,基于所述二值化目标图像,划定ROI图像;
步骤S600,基于所述ROI图像,进行边缘检测获得目标安瓿瓶边缘图像;
步骤S700,基于所述目标安瓿瓶边缘图像,先确定目标安瓿瓶矩形区域,通过针对每个安瓿瓶像素点查找对称点的方法获取安瓿瓶精确轮廓图像;
步骤S800,基于所述安瓿瓶精确轮廓图像,搜索轮廓拐点获取两个瓶颈像素坐标;
步骤S900,基于所述瓶颈像素坐标转换到世界坐标获取瓶颈三维坐标,机器人根据所述瓶颈三维坐标进行切割配液。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述系统实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的用于配液机器人的安瓿瓶瓶颈检测系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的用于配液机器人的安瓿瓶瓶颈检测方法。
本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的用于配液机器人的安瓿瓶瓶颈检测方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。