使用BP神经网络和图像处理 进行的 识别纺织机纱管

第一节说说具体的故事和做这件事的想法,头脑风暴一下

第二节说实现的算法

最近有位朋友告诉我说他们在做纺织机的纱管自动化收集。用工业相机拍照,然后识别纱管的情况,以此操作自动化设备进行自动处理。

讨论了一段时间,就抽时间做了一个demo,顺便把从需求到实现的流程和大概的方法给大家说说。


大概落实了一些需求,我提问了如下的几个问题,整理的答复如表



实际的相机拍的图片有一些,然后还有各色的纱管找了一堆拍了个照片。



按照我做图像处理的经验,从第一印象上,我看到每个纱管都有反光的两个很亮的条带,经过求证,这是给工业相机配用的灯光,由于相对位置固定,因此会出现两条反光。

我就以此作为检测的一个重要参数进行了试验。

第一步试验:获取横向投影。

        为了验证效果,我还进行了横向的分段投影。投影的方式尝试了几种,开始的时候是采用了HSV的H分量(色度),画出来是下面这样。对应的各个位置还是很清晰的。因为这个照片本身就具有很好的横向特征。


后来还尝试了灰度图,分别是黑色、红色、蓝色、绿色的纱管,得到的投影曲线和 没有纱管的曲线(粗的浅绿色)还是很明显具有不同特点的



特别是从250-400这一段上的投影,很明显可以看到有纱管的时候的反光条对投影曲线的影响很明显

有无纱管基本上就可以通过这种投影来判断。 后来的试验也验证了通过检测反光条对识别的有效性还是很高的。


解决了有无纱管的问题。再来看有无纱线的问题。

根据经验,我首先想的是多尺度的均值和均方差是否有效。经过几轮的试验,横向的均方差对探测有无纱线具有不错的效果。

还要解决纱管的方向问题。

当有纱线在管上的时候,一定是偏向大头的那一段的,因此有纱线的时候就比较好判断。 

在图上也可以看出均值(红)和均方差(蓝)两条曲线的分布情况,能很明显的表征纱线的位置。


当没有纱线的时候,就要靠反光的两个条带了。结合纱管大头和小头的纹理(螺纹)分布的不同,就能界定纱管的方向。


根据上面的原理,就可以找到一些关键的值,作为特征向量。

理论上这些特征向量还是具有比较好的可分性的。

为了提高准确率,可以采用图像处理的方式对图像进行一些增强或者平滑等操作。


特征向量可以采用多种方式进行分类,我首先选用了之前使用的一个BP神经网络(http://blog.csdn.net/sdust_dx/article/details/51553736)


原理基本上就是这样。[ END ]

[另外朋友今天提出来说最好把纱管的颜色也识别出来。那么等我把颜色识别的功能做好以后放在第三节好了]


猜你喜欢

转载自blog.csdn.net/sdust_dx/article/details/64541683
今日推荐