一种曲面药瓶标签校验方法关键技术*

2019-05-31 01:21刘慧芳车新生
沈阳工业大学学报 2019年3期
关键词:柱面药瓶畸变

许 会, 刘慧芳, 陆 昊, 车新生

(沈阳工业大学 信息科学与工程学院, 沈阳 110870)

静脉滴注类药品配药是医用输液的重要组成部分,现如今大部分静脉配液还是由医护人员人工完成,不可避免造成时间与人力资源上的浪费[1-2].严格执行查对制度、遵守无菌操作规程是每一位医护人员在配药过程中必须遵守的准则,但是长期配药会对配药人员肌肉骨骼产生损伤[3].药瓶标签关键信息不便查找,配药过程还是通过护士反复核查药品名等信息,这些问题无疑给配药工作人员带来很大麻烦[4].目前针对药瓶标签自动校验的文献[5]未能解决畸变校正问题,标签旋转不同角度后校验的匹配率会下降,损失了标签名称等一部分重要信息;文献[6]中字符识别的畸变字符校正算法侧重于对字符的定位,没有实现药瓶标签的自动识别.鉴于上述情况,本文提出了基于全景拼接技术的药瓶标签校验方法.全景拼接技术[7]主要应用于外场景、宽角度场景,应用到静脉滴注类药瓶标签的识别需要先对药瓶标签进行畸变校正才能实现图像的拼接.文献[8]利用PDF417码本身具有的列分割线特征对条码分割后进行局部校正,此方法利用透视变换算法,不能对扭曲剧烈的条码进行信息还原.本文标签字符分割、识别算法参考文献[9],本文设计算法可对有倾斜角度的药瓶标签图像进行识别,并对发生畸变的图像进行校正.

1 药瓶标签校验算法设计

由于采集设备视角小,采集的图像不能包含标签名称等完整有效信息,镜头采集的药瓶标签会发生畸变.本文主要从以下几个方面进行研究:

1) 药瓶标签畸变校正算法设计;

2) 药瓶名称字符分割算法设计;

3) 药瓶名称识别算法设计.

1.1 药瓶标签畸变校正算法设计

对于发生畸变的曲面药瓶标签图像,它们之间不是线性对应关系,直接用于识别会引起偏差,故需要对采集的药瓶标签图像进行畸变校正.本文畸变校正算法需要经过图像灰度化、Canny算法边缘检测、霍夫变换检测垂直直线、图像分割等图像预处理操作,随后使用柱面反投影算法对分割后的药瓶标签进行畸变校正.

1.1.1 柱面反投影算法原理

在同一视点O将图像投影到柱面切平面上的原理图如图1所示.图1a为柱面标签投影关系,柱面A′B′C′D′投影到切平面ABCD上;图1b为柱面上任意一点P′投影到切平面x方向的映射关系.

首先建立理想的投影模型,图1b假设圆柱面A′B′为半圆,焦距ON=R,中心点为O,曲面图像上任意一点P′投影到平面图像上的P点(x方向即由P′所对应的弧长投影到平面PN的长度),OP与ON间的夹角θ.柱面标签投影到切平面x方向映射关系表达式为

(1)

式中,x′为P′点对应的弧长.

柱面切平面y方向与柱面y方向(即柱面标签母线方向)相同,得出柱面反投影表达式为

(2)

式中,y′为柱面的母线长.

在图1b中,根据式(2)首先求出A′投影到平面时的x方向长度.在此OA′的长度可从图像中获得,令OA′等于弧长l,根据式(1)求出此段弧长所对应的θ值,从而计算出变换后的边界x值,遍历图像所有像素点得到变换后图像的所有x值.变化后的平面图像x方向宽度会明显增加,从而出现像素的缺损,在柱面图像中无法找到对应的像素点,采用最近邻插值对缺损的图像进行插值,从而在x方向畸变字符得到了非线性校正.

1.1.2 二次校正算法原理

图2 二次校正模型Fig.2 Secondary correction model

根据图2建立关系式为

(3)

(x,y)为弧面上任意一点的坐标,变化后的坐标为(x_t,y_t),dOE和dOF大小由实验图像获得.

1.2 药瓶标签字符分割算法设计

通过SIFT图像拼接后,解决了视角小等问题,得到了有完整药品名标签图像.通过图像二值化、图像形态学、图像滤波等预处理提取标签药品名图像.药品名是由一个或者多个连通域组成的,本文使用基于连通域的字符切分技术对药品名字符进行切分.

根据连通域对图像进行粗切分,再进行连通域的合并和粘连字符连通域的切分,基于字符字型特点,连通域可能会有上下关系、左右关系、重叠关系等.图3是存在重叠关系的连通域C(i)和C(j),(Li,Ui)是连通域C(i)外接矩形的左上角坐标,(Rj,Dj)是连通域C(j)外接矩形的右下角坐标.

图3 连通域外接矩形的重叠关系Fig.3 Overlapping relationship of circumscribed rectangles outside connected domains

各标记定义如下:

连通域的宽W(Ci)=Ri-Li;

连通域的高H(Ci)=Di-Ui;

连通域的宽高比Ratio(Ci)=W(Ci)/H(Ci);

合并后的宽Uw(Ci,Cj)=max(Ri,Rj)-min(Li,Lj);

合并后的高Uh(Ci,Cj)=max(Di,Dj)-min(Ui,Uj);

合并后的宽高比

URatio(Ci,Cj)=Uw(Ci,Cj)/Uh(Ci,Cj);

重叠的宽度

Ow(Ci,Cj)=W(Ci)+W(Cj)-Uw(Ci,Cj);

重叠的高度

Oh(Ci,Cj)=H(Ci)+H(Cj)-Uh(Ci,Cj).

以上定义的连通域单位都是基于像素点个数.定量化分析连通域的合并关系、粘连字符的重叠关系能够得到正确的切分字符.此方法简单快速,很好地满足了本文药瓶标签字符的分割要求.

1.3 药瓶标签字符识别算法设计

对于药瓶标签名称切分字符的识别,设计了一种特征矩阵求取算法,以二值图像像素为基础,求出分割字符和模板字符的相似度矩阵,再求出特征矩阵的相似度来匹配图像.特征矩阵的求法为选定单位面积、统计分割字符和模板字符的单位面积黑色像素点数、字符图像的特征矩阵为黑色像素点的总和,特征矩阵的相似度依据余弦相似度原理来计算.假设n个分割字符图像特征分别由m1,m2,…,mn来表示,n个模板字符特征分别由t1,t2,…,tn来表示,相似度的计算公式为

(4)

2 药瓶标签校验算法实现

2.1 药瓶标签拼接算法实现

采集有重叠区域(重叠区域大于1/3)的3组不同角度的药瓶标签图像注射用奥美拉唑钠如图4所示.

图4中定义3组图分别为目标1、目标2、目标3.图5是采用霍夫变换对倾斜角度图像进行校正,目标1校正角度为1°,目标2校正角度为1°,目标3校正角度为5°.

对3组图预处理分割后,按照上述反投影算法对水平方向的畸变进行校正,焦距设为像素矩阵列宽的1/2,即标签图像校正中心在图1b的O点处,结果如图6所示.

图4 镜头采集原图Fig.4 Original images collected by camera

图5 倾斜校正图Fig.5 Images after tilt correction

图6 柱面反投影图Fig.6 Images after cylindrical reverse projection

从图6可以看出标签边缘压缩的字符得到了校正,越是靠近边缘拉伸越宽.对图6采用二次校正模型进行校正,结果如图7所示.在图7中dOF取图像行宽的一半,dEF由图像弯曲的程度计算得知.由图7可见,图像在y轴方向得到了校正,药品标签名称基本上在同一水平线上,利于后续药品标签名的提取.

图7 二次校正图Fig.7 Images after secondary correction

经过柱面反投影即一次校正,二次校正后对展开的图像进行拼接,目标1校正图和目标3的校正图相似,并且目标1校正后的图像弯曲度比目标3的大,由于篇幅的限制,在此取更有代表性的目标1校正图与目标2校正图进行拼接.本文从3个方面试验校正算法对拼接的影响,组别1依次经过一次校正后拼接,验证了一次校正对拼接的影响,拼接后的二次校正是为了易于标签名称的提取.同理组别2验证了两次校正对拼接影响,组别3验证了拼接后的二次校正对标签提取识别的影响.

3个组别的图像拼接结果如图8所示,从图8中可以看出,本文拼接算法能很好实现药瓶标签的拼配,经过两次校正后再拼接的标签展平效果好于一次校正后拼接的药瓶标签.

2.2 药瓶标签校验算法实现

分别从图8a、b、c提取药品名称有效区域如图9所示.

对图9中经过预处理的图像进行字符切分,药品名字符分割图如图10所示.图10中,药品名字符得到正确切分.字符分割后需要与模板字符进行匹配,需要提前做出模板字符库,图11为药瓶标签注射用奥美拉唑钠的部分模板库图像.

图8 不同处理后的图像拼接图Fig.8 Stitched images after different processes

图9 药品名有效区域Fig.9 Effective area of medicine name

图10 药品名分割图Fig.10 Segmented images of medicine name

图11 模板字符Fig.11 Template characters

在此阶段,分割字符和模板字符像素统一调整为42*24,选取单位面积大小为2*2.匹配过程包括读取样本模板库,计算特征矩阵,计算相似度矩阵,若相似度矩阵最大值大于0.85,显示识别结果.

在这个阶段分割字符分别与所有模板字符进行匹配,如分割字符“注”与模板中的字符“注”、“射”、“用”、“奥”、“美”、“拉”、“唑”、“钠”依次匹配,计算出相似度矩阵最大值.其他字符依次进行匹配,得到所有字符的相似度矩阵最大值,如表1所示.

表1 分割字符与模板字符匹配相似度矩阵最大值

Tab.1 Maximum similarity matrix values matching segmentation characters with template characters

字符相似度矩阵最大值组别1组别2组别3注0.92290.93040.9330射0.92850.95840.9634用0.87920.92910.9486奥0.90710.94410.9499美0.89830.94680.9556拉0.85600.91260.9242唑0.91070.93380.9598钠0.92760.96700.9519

从表1中可以看出组别2和组别3的分割字符与模板字符匹配的相似度矩阵最大值大于组别1,组别3的识别率略大于组别2.

3 结 论

本文重点研究了曲面畸变校正问题,药瓶标签经过一次校正和二次校正展开了曲面图像边缘压缩字符.经过图像拼接解决了视角小,缺失图像重要信息等问题.经过校正和拼接得到了包含完整药瓶标签信息的平面展开图像.通过一次校正和二次校正后拼接的图像字符识别率高于一次校正后拼接的图像,即曲面图像展平效果越好,字符的识别率越高.

猜你喜欢
柱面药瓶畸变
智慧课堂的教学设计
抗击新型冠状病毒绝句
几何特性对薄壁箱梁畸变效应的影响
基于单摄像头的柱面拼接
正交变换在判断曲面形状中的应用
在Lightroom中校正镜头与透视畸变
波纹钢腹板连续刚构桥扭转与畸变的试验研究
提醒你按时吃药的智能药瓶
关于柱面光学透镜在光学成像系统中的运用
三级风扇进气压力畸变特性分析