一种基于OpenCV的香烟滤棒计数算法
2021-07-09王征勇
王征勇
摘要:为了满足滤棒生产统计的计数需求,提出了一种基于图像识别的滤棒计数方法。首先通过轮廓查找检测到滤棒区域;其次通过亮度均匀、边缘检测、颗粒剔除等预处理方法,获取滤棒的圆周边缘;然后通过霍夫圆检测获取滤棒的位置;最后通过灰度和位置进行异常剔除,得到滤棒的识别结果。通过实验,普通滤棒、颗粒滤棒、细支滤棒的F1-分数分别为99.85%、99.73%、99.92%。说明该方法能够很好满足卷烟工厂流水线场景下的使用需求,具备良好的泛化性能。
关键词:滤棒识别;边缘检测;霍夫圆检测;计数
目前对于基于图像的滤棒计数方法,主要有三类:分别为面积法近视估算、基于机器学习的识别算法和基于边缘的识别算法。其中效果最好的是基于边缘的识别算法,例如曹维林等人提出的基于Canny 算子的滤棒数量检测方法【1】,该方法对整个托盘的滤棒进行边缘检测,结合滤棒圆形特性精确定位滤棒位置,实现滤棒数量检测。该系统平均误检率为0.1%,平均漏检率为0.77%。
按照每个容器的滤棒数量为4000支计算,总错误数量为10支以内,才能较好的满足工业企业流水线场景下的使用需求,也就是准确率需达到99.75%以上,上述算法均不能满足。此外目前研究的都是普通滤棒,缺少对颗粒滤棒和细支滤棒的研究,本论文分别对三种滤棒进行实验,并且达到平均总错误数量在10支以内。
1图像的获取和识别方法
1.1图像的获取
工业相机采用品牌为迈德威视;型号为MV-SUA2000C M-T,最高分辨率为5488×3672。
1.2识别方法
1.2.1滤棒区域提取
本论文首先针对滤棒区域进行提取:
①使用Canny边缘检测方法,获取边缘。
②使用dilate方法进行膨胀处理,使滤棒区域边缘连接起来。
③使用findContours方法进行轮廓寻找。取最大輪廓,获取滤棒筛矩形框。
④使用矩形框对图片进行截取,获取滤棒区域。
1.2.2亮度均匀
针对光照不均匀的情况,采用了彭兴邦等人提出的一种基于亮度均衡的图像阈值分割技术进行亮度均衡化。【2】
1.2.3滤棒识别
通过查找圆形的方式,实现滤棒的识别和定位:
①使用Canny边缘检测方法,获取滤棒边缘。
②对于颗粒滤棒,通过查找小闭合轮廓的方式,进行颗粒边缘去除。
③使用HoughCircles霍夫圆检测,获取滤棒位置。
1.2.4异常剔除
①滤棒在容器中存在“类圆孔洞”的现象,使用拉依达准则,进行灰度异常圆剔除。
②部分容器与滤棒边缘组成的“假圆”噪音,通过滤棒区域轮廓进行剔除。
2结果与分析
2.1普通滤棒结果
本文引用了曹维林等人提出的基于Canny算子的滤棒数量检测方法【1】论文中的检测数据。由于长中短支烟的圆周接近,本文将其数据进行合并统计。
平均情况下需要人工标记的数量由原来的每个容器多于40根降低到现在的每个容器不到3根。需要人工标记的数量明显降低,完全具备了实际场景的使用条件。
2.2颗粒滤棒结果
平均情况下需要人工标记的数量为每个容器8.1根。本文针对颗粒滤棒图像的滤棒识别在平均表现情况下准确率为99.83%、召回率为99.78%,需要人工标记的数量平均为8.1根,基本具备了实际场景的使用条件。
2.3细支滤棒结果
平均情况下需要人工标记的数量为每个容器8.4根。本文针对细支滤棒图像的滤棒识别在平均表现情况下准确率为99.91%、召回率为99.93%,需要人工标记的数量平均为8.4根,完全具备了实际场景的使用条件。
参考文献
[1]曹维林, 李捷, 孙顺凯,等. 基于Canny算子的滤棒数量检测方法[J]. 烟草科技, 2020, 53(1):7.
[2]彭兴邦,蒋建国。一种基于亮度均衡的图像阈值分割技[J].计算机技术与发展,2006,(11):10-12.