基于图像处理的试管位置实时检测
Real-Time Detection of Tube Position Based on Image Processing
DOI: 10.12677/SEA.2022.113045, PDF, HTML, XML, 下载: 107  浏览: 189  国家自然科学基金支持
作者: 张文博, 龙泰学, 万 旻, 武和雷*:南昌大学信息工程学院,江西 南昌;李 姗:南昌大学数学与计算机学院,江西 南昌
关键词: 图像处理OpenCV相机标定差分运算试管位置检测Image Processing OpenCV Camera Calibration Difference Calculation Test Tube Position Detection
摘要: 为解决人工识别试管位置效率低、易出错问题,利用图像处理技术,设计一种对于医学冷藏盒上的试管位置自动实时检测识别的方法。通过USB摄像头读取视频流,USB摄像头要进行相机标定去畸变,利用OpenCV读取获得的每一帧图像,并保留第一帧图像。在图像上确定检测的冷藏盒的ROI矩形范围、冷藏盒上每个试管格的四个顶点以及四个顶点的中心点,每帧图像与第一帧图像做差分运算后转换为灰度图,设定阈值并根据这个中心点位置索引获得试管在冷藏盒上准确的相对坐标位置。测试结果表明,该方法可以有效和实时地完成试管位置的检测识别,准确率几乎可达100%,有较大实用价值。
Abstract: In order to solve the problem of low efficiency and error-prone manual identification of test tube positions, a method for automatic real-time detection and identification of test tube positions on medical refrigerator boxes was designed by using image processing technology. The video stream is read through the USB camera. The USB camera needs to be calibrated and de-distorted, and each frame of image obtained is read by OpenCV, and the first frame of image is retained. Determine the ROI rectangular range of the detected refrigerated box, the four vertices of each test tube grid on the refrigerated box and the center point of the four vertices on the image, and convert each frame image and the first frame image into a grayscale image after differential operation. Set the threshold and obtain the exact relative coordinate position of the test tube on the refrigerated box according to this center point position index. The test results show that the method can effectively and real-time complete the detection and recognition of the position of the test tube, and the accuracy rate can reach almost 100%, which has great practical value.
文章引用:张文博, 李姗, 龙泰学, 万旻, 武和雷. 基于图像处理的试管位置实时检测[J]. 软件工程与应用, 2022, 11(3): 425-434. https://doi.org/10.12677/SEA.2022.113045

1. 引言

2019年由一种新型冠状病毒引发的新型冠状病毒肺炎,给我国人民以及世界人民的身体健康带来了很大影响。疫苗等需要使用大量的试管试剂,大量的试管试剂如果通过人工识别标记,不仅效率低而且容易因疲劳出错,对人民健康带来不良影响 [1] [2]。

根据项目需求,当用户每放置一个试管瓶到此试管架或冷藏盒中时,或者对于非空置的试管架或冷藏盒(已经放置了一部分试管瓶),相机要能够准确识别并记录放置在试管架或冷藏盒里的试管瓶的数量、位置信息 [3] [4] [5] [6]。通过固定的通信接口,实时上报新增试管的位置坐标以及所有之前放置的试管瓶的位置坐标。本文利用图像处理技术,为试管试剂的位置实时检测识别提供了一种准确有效的方法 [7] [8] [9]。

数字图像处理技术是一种对计算机技术的深入应用,通过将图像转化为离散数字信号,利用计算机进行处理,包括图像滤波、图像增强、特征提取等。数字图像处理的最早应用是美国喷气推进实验室对航天器采集的数千张月球图片进行处理,完成月面地图的绘制。随着互联网的发展,数字图像处理技术的应用也越来越广泛,如今数字图像处理技术已经应用到工业、军事、林业、医学等众多领域。数字图像处理技术以其图像再现、自动化程度高、图像处理速度快、可应用范围广等优点,发展速度快、应用范围广,因此,本文采用的技术成熟可行。产品测试结果表明,该方法效率高、实时性好、识别准确率高,有很高的实用价值和推广应用前景 [10]。

2. 摄像机标定

单孔摄像机(照相机)会给图像带来畸变,畸变主要有两种:径向畸变和切向畸变,摄像机标定矫正主要解决径向畸变和切向畸变。径向畸变是图像像素点以畸变中心为中心点,沿着镜像产生的位置偏差,从而导致成像发生形变 [11] [12] [13] [14],可通过下列方程矫正:

x c o r r e c t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y c o r r e c t e d = y ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) (1)

切向畸变是由于透镜与成像平面不可能绝对平行造成的,可通过下列方程组矫正:

x c o r r e c t e d = x + [ 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) ] y c o r r e c t e d = y + [ 2 p 2 x y + p 1 ( r 2 + 2 y 2 ) ] (2)

其中 k 1 , k 2 , p 1 , p 2 , k 3 为五个畸变系数。摄像机的内部参数是特异的,包括焦距(fx, fy)、光学中心(cx, cy)等,也称为摄像机矩阵,内部参数取决于摄像机自身。摄像机的外部参数与旋转和变换向量相对应,可以将3D点的坐标转换到坐标系统中。

摄像机的标定需要确定以上参数。摄像机标定时输入一组3D真实世界中的点(X, Y, Z)以及这些点对应于2D图像中的点,利用样本棋盘如图1所示的图片,找到一些特殊点(如棋盘的四个角点)在图片上的位置 [15]。可以认为棋盘图片在XY平面是静止的,那么Z = 0,输入一些3D点,例如(0, 0, 0)、(1, 0, 0)、(2, 0, 0)…利用findChessboardCorners()函数找到棋盘图案,然后利用cornerSubPix()函数增加准确度和drawChessboardCorners()函数绘制图案,再利用calibrateCamera()函数和getOptimalNewCameraMatrix()函数,获得摄像机矩阵、畸变系数、旋转和变换向量、ROI图像等,根据检测目标区域裁剪图像。

Figure 1. A sample checkerboard

图1. 样本棋盘

3. 获取视频流读取帧图像

利用OpenCV获取USB摄像头视频流,读取到每一帧图像 [16] [17] [18]。把试管放入到冷藏盒时,由于人手的介入会影响试管位置的检测,可通过计算当前帧图像灰度图与前一帧图像灰度图的归一化均方根误差,设定阈值,判断是否需要将当前帧图像保留进行试管位置检测,从而排除人手的介入对试管位置检测造成的影响。

归一化均方根误差(Normalized Root Mean Square Error, NRMSE)表达式如下:

N R M S E = m = 0 M 1 n = 0 N 1 | y [ m , n ] x [ m , n ] | 2 m = 0 M 1 n = 0 N 1 x [ m , n ] 2 (3)

其中 x [ m , n ] , y [ m , n ] 是两个图像矩阵。NRMSE是一种基于像素误差的图像质量客观评价指标,可以衡量两张图像之间的差异。

4. 图像处理技术

4.1. RGB彩色图像灰度化

摄像机采集的原始图片是彩色图像,彩色图像包含的数据与信息量比较大,灰度图能以比较少的数据表征图像的大部分特征,因此为了方便计算分析和提高算法的效率,将RGB彩色图像转化为灰度图。

将彩色图像转换为灰度图像的过程称为彩色图像的灰度化。RGB彩色图像灰度化的方法主要有三种:最大值灰度化方法、平均值灰度化方法、加权平均灰度化方法。最大值灰度化方法将彩色图像中像素的R、G、B分量三个数值的最大值作为灰度图的灰度值;平均值灰度化方法将彩色图像中像素的R、G、B分量三个数值的平均值作为灰度图的灰度值。由于人眼对绿色的敏感最高,对蓝色的敏感最低,对R、G、B分量三个数值进行加权平均,能够得到较合理的灰度值,因此采用加权平均灰度化方法对彩色图像进行灰度化,如式(4)所示:

f ( x , y ) = 0.299 R ( x , y ) + 0.578 G ( x , y ) + 0.114 B ( x , y ) (4)

其中R, G, B为图像红、绿、蓝三个通道的颜色像素大小。

图2是一帧图像的RGB彩色图像,图3为其灰度化后对应的灰度图像。可以看到灰度处理后的图像变得灰暗,5个试管轮廓边缘变得明显清晰。

Figure 2. RGB color image

图2. RGB彩色图像

Figure 3. Grayscale image

图3. 灰度化图像

4.2. 图像去噪与自适应阈值化

选取ROI区域之前,对图像进行高斯滤波,可以消除高斯噪声,二维高斯函数:

G ( x , y ) = 1 2 π σ 2 e x 2 + y 2 2 σ 2 (5)

其中σ是标准差,x、y代表像素的模板坐标。

高斯分布是一种钟形曲线,可以看作是一种权重分配模式,越接近中心,取值越大,越远离中心,取值越小。

均值滤波是以当前点为中心,用其周围点像素值的平均值来替代当前点的像素值。高斯滤波与均值滤波略有不同,高斯滤波是按像素点与中心点的不同距离,赋予像素点不同的权重值,越靠近中心点权重值越大,越远离中心点权重值越小,然后根据权重值计算邻域内所有像素点的和,将和作为中心点的像素值。因此高斯滤波的效果更柔和,图像中感兴趣目标的细节保留得较好,所以采用高斯滤波去噪。

高斯滤波后的图像再进行自适应阈值化操作。自适应阈值化处理也称局部阈值处理,能够根据图像不同区域亮度改变阈值。

图4为高斯滤波后的图像,图5为高斯滤波后利用B通道进行自适应阈值化操作后的图像。高斯滤波后的图像变得平滑模糊,可以有效地消除噪声,自适应阈值化处理后的图像在不同区域亮度有不同的阈值,可以很好地观测边缘信息。

Figure 4. Gaussian filtered image

图4. 高斯滤波后的图像

Figure 5. Image after adaptive thresholding

图5. 自适应阈值化后的图像

4.3. ROI区域选取

冷藏盒放置好后,冷藏盒和摄像机的位置就是固定的了。为了简化工作过程和达到更好的检测效果,需要在摄像机标定裁剪的图像中选取一片包含检测目标的区域。通过轮廓检测找到矩形冷藏盒的四个顶点,根据这四个顶点画出ROI区域矩形块。

图6为根据冷藏盒的四个顶点画出矩形并选定的ROI区域。

Figure 6. ROI area

图6. ROI区域

4.4. 试管格坐标点确定

选定ROI区域之后,确定该矩形区域的中心点如图6所示,根据中心点设置等差数列,再根据矩形区域大小(或者图像中冷藏盒的大小)设置步长调节等差数列,实现等差数列对应于冷藏盒上所有试管矩形格子的四个顶点(图7中的黄色圆点),以每个顶点为圆心,设置合适大小的半径画圆,同理,再画出每个试管矩形格子的中心点即坐标点,如图7所示的红色圆点。

图7画出了每个试管格子的四个顶点和中心点。

Figure 7. Test tube grid coordinate points

图7. 试管格坐标点

5. 试管位置检测

当读取到当前帧图像与前一帧图像灰度图的归一化均方根误差达到阈值条件时,利用当前帧彩色图像与保留的第一帧彩色图像(这两帧分辨率相同)进行图像差分处理 [19] [20]。差分处理是将两张图像像素点一一对应相减,可以除去图像中相同的场景,检测同一场景在不同时间段的变化 [21] [22]。在冷藏盒上放入试管后,利用差分处理就可以得到冷藏盒上放入试管位置的像素变化。在得到冷藏盒上每个试管矩形格子的坐标后,设置判断试管放入冷藏盒相应位置差分处理后像素值变化的阈值,通过试管矩形格子的中心点索引确定试管放入的位置,最终得到试管在冷藏盒上的相对坐标。

为了方便调试,通过放置文本函数打印出放入试管的相对坐标,也可以实时观察放入试管的位置。

图8为对图像进行差分处理后得到的图像。可以看到放入试管时经过差分处理,冷藏盒上放入试管位置的像素跟未放入试管位置的像素变化明显。

在冷藏盒上放入试管时,实时地获取放入试管的位置坐标,这里的坐标以左上角试管格子坐标(1, 1)为参照,其余试管格子坐标以此类推,为了方便观察和调试,试管位置坐标在输出视频上打印出来并通过RS232口上传给PC机处理,如图9所示。

Figure 8. After differential processing

图8. 差分处理后

Figure 9. Live tube position coordinates obtained in real time

图9. 实时获取的试管位置坐标

6. 测试

图10为试管冷藏盒,图11为TW-T503的计算平台和一款海康威视USB摄像头,USB摄像头通过USB连接线连接到TW-T503USB Type A接口,图12为产品实物图,即项目中搭建的试管检测定位平台,图13为在该平台上进行试管位置识别检测案例的结果。图14为测试案例流程,测试结果表明,该方法可以有效和实时地完成试管位置的检测识别,准确率几乎可达100%。

Figure 10. Test tube refrigeration box

图10. 试管冷藏盒

Figure 11. TW-T503 and USB camera (camera left, TW-T503 right)

图11. TW-T503和USB摄像头 (左为摄像头,右为TW-T503)

Figure 12. Product drawing (① where the USB camera is placed, ② is a test tube refrigerated box)

图12. 产品实物图(① 处放置USB摄像头,② 为试管冷藏盒)

Figure 13. The position of the tube detected on the platform

图13. 在平台上检测的试管位置

Figure 14. Test case

图14. 测试案例

7. 结论

根据项目需求,集成了放置冷藏盒的平台,LED环形灯带用于补充光源,USB摄像头、TW-T503硬件平台等,设计搭建了试管检测定位系统,在同行业中属于首次应用,为此已提交两项专利申请。采用摄像头标定技术获取高质量的图像,引入差分算法和图像处理技术,实现了实时精准定位试管位置。测试结果表明:本文采用的检测定位方法高效实用,识别精准,识别准确率达100%,完全满足用户需求,有很好的应用价值及推广前景。

8. 结语

设计了一种通过USB摄像机获取视频流读取原始图像,对摄像机进行标定,对原始图像进行灰度转换、高斯滤波、自适应阈值化等操作,选取ROI区域,利用图像差分处理等一系列操作的方法,并搭建了试管位置检测识别平台,能够自动实时准确地获取冷藏盒上放入试管的位置坐标,实现了计算机视觉图像处理技术在医疗中的实际应用,可以对于相关的研发和应用有所借鉴作用。感谢深圳乾柜科技有限公司的通力合作!

基金项目

国家自然科学基金项目资助(61963027,61763012)。

NOTES

*通讯作者。

参考文献

[1] 郭宽. 数字图像处理技术在医学领域的应用[J]. 科技与创新, 2016(13): 106.
[2] 朱晓萌, 姜峰, 庞嘉楠. 数字图像处理技术在中医眼诊方面的应用[J]. 科技创新导报, 2020, 17(16): 148-149+151.
[3] 徐天宇. 基于霍夫变换及卷积神经网络的试管数目识别[J]. 电子技术与软件工程, 2020(2): 135-136.
[4] 陆秦江. 基于图像处理的试管识别系统的设计与实现[D]: [硕士学位论文]. 苏州: 苏州大学, 2017.
[5] 赵真宗. 血标本试管架及试管识别报警系统的临床应用及效果评价[J]. 中国卫生标准管理, 2017, 8(2): 123-125.
[6] 宋美萍. 数字图像处理中的图像分割技术应用研究[J]. 电子技术及软件工程, 2017(1): 75.
[7] Luo, X. and Cai, G. (2021) Computer Image Processing System Based on Feature Extraction Technology. Journal of Physics: Conference Series, 1952, Article ID: 022046.
https://doi.org/10.1088/1742-6596/1952/2/022046
[8] Shelke, S.K., Sinna, S.K. and Singh Patel, G. (2021) Study of End to End Image Processing System Including Image De-noising, Image Conpression & Image Secu-rity. Wireless Personal Communications, 121, 209-220.
https://doi.org/10.1007/s11277-021-08631-9
[9] 叶一帆. 基于计算机视觉算法的图像处理技术研究[J]. 长江信息通信, 2021, 34(10): 73-75.
[10] 李德伟, 裴震宇. 数字图像处理的关键技术及应用[J]. 电子技术及软件工程, 2018(6): 65.
[11] Shi, Z.C., Shang, Y., Zhang, X.F. and Wang, G. (2021) DLT-Lines Based Camera Calibration with Lens Radial and Tangential Distortion. Experimental Mechanics, 61, 1237-1247.
https://doi.org/10.1007/s11340-021-00726-5
[12] Kim, J., Bae, H. and Lee, S.G. (2021) Image Distortion and Rectification Calibration Algorithms and Validation Technique for a Stereo Camera. Electronics, 10, Article No. 339.
https://doi.org/10.3390/electronics10030339
[13] 张伟, 程鸿, 韦穗. 摄像机标定系统的设计与实现[J]. 计算机工程, 2007(2): 255-256+276.
[14] 喻夏琼, 秦晓东, 高超, 孙韬. 基于矩特征和鲁棒性估计的摄像机标定方法[J]. 测绘工程, 2021, 30(6): 16-20+26.
[15] 赖文敬, 周延周, 朱文卓, 鲍鸿. 一种基于棋盘格模板单目摄像机高精度标定方法[J]. 广东工业大学学报, 2015, 32(3): 79-84.
[16] Sivkov, S., Novikov, L., Romanova, G., Romanova, A., Vaganov, D., Valitov, M., et al. (2020) The Algorithm Development for Operation of a Computer Vision System via the OpenCV Library. Procedia Computer Science, 169, 662-667.
https://doi.org/10.1016/j.procs.2020.02.193
[17] Gao, F., Luo, D. and Ma, X. (2020) Research on Facial Expres-sion Recognition of Video Stream Based on OpenCV. International Journal of Biometrics, 13, 114-129.
https://doi.org/10.1504/IJBM.2021.112219
[18] 夏帮贵. OpenCV计算机视觉基础教程[M]. 北京: 中国工信出版集团, 人民邮电出版社, 2021.
[19] Wei, H. and Peng, Q. (2018) A Block-Wise Frame Difference Method for Real-Time Video Motion Detection. International Journal of Advanced Robotic Systems, 15, Article ID: 172988141878363.
https://doi.org/10.1177/1729881418783633
[20] Cheng, Y.H. and Wang, J. (2014) A Motion Image Detection Method Based on the Inter-Frame Difference Method. Applied Mechanics and Materials, 490-491, 1283-1286.
https://doi.org/10.4028/www.scientific.net/AMM.490-491.1283
[21] 胡东红, 汪浩, 艾君, 张玲, 张胜兰. 两种图像校正算法在实际应用中的比较[J]. 计算机工程与应用, 2009, 45(13): 191-193+226.
[22] 许宏. 基于图像差分的关键帧检测技术[J]. 计算机工程与设计, 2010, 21(12): 2849-2852.