钛钉有无倾斜变形OCR视觉识别
钛钉有无倾斜变形OCR视觉识别视频号
钛钉有无倾斜变形OCR视觉识别B站
钛合金的钉子,具体作用是什么不太清楚,看某宝上的说的感觉就是钉子,用在露营固定帐篷用的。对于本方案中的钛钉是不是也是这个作用不得而知。要检测的内容就是钛钉中间的金属条有没有、金属条和孔有没有倾斜、位置有没有移位或金属条有没有弯曲变形,另外在一端还有一串字符,需要做字符识别。
钛钉彩色相机照明效果
钛钉黑白相机照明效果
字符单独照明效果
机器视觉光源
钛钉的孔洞是内空的,中间还有黑色金属条,需要判断这个金属条的相关特征,那么这里直接使用背光源即可,钛钉需要拍摄的视野约90mm左右,可以考虑SHI-HFLM100100-W。而在端的字符,因为不透明,那么就需要在上方补一下小条形光源,将字符照亮,考虑SHI-BLM5738-W:
SHI-HFLM100100-W
SHI-BLM5738-W
光源控制器
SHI-HFLM100100-W和SHI-BLM5738-W的功率是比较小的,总共都不会超过20W,考虑使用SHI-MAPSM2424-2CH即可。但是这里使用背光源的话,这个控制器是PWM的,背光时在曝光时间短时,图像容易闪烁出现亮度不均匀的问题,建议使用SHI-APSM2430-2CH的。
SHI-APSM2430-2CH
工业相机
钛钉整体尺寸约100mm左右,需要检测区域的视野则为90mm左右,相对来说比较大。然后里面还有一些角度对齐、位置、变形等参数测量,整体的精度要求比较高。实验使用的2000万像素的相机,感觉分辨率上可能还差了一些。有无、角度之类的可能够了,而像位置、变形等,则可能不是太够。
MER2-2000-6GM
当然,这个2000万的卷帘相机成本是比较低的。如果分辨率要求再高,成本愿意接受,还有很多4000万、6500万、1亿像素、1.5亿像素级别的相机,如MARS-15200-16X2M-TF,分辨率高达16544×9200。
MARS-15200-16X2M-TF
工业镜头
拍摄的范围100mm上下,没有特殊的尺寸测量要求,优先考虑低成本的FA镜头。这里可以考虑SHI-C1216GFL。如果成本允许,则可以考虑远心镜头,因为芯片的尺寸相对大,远心镜头的倍率则不会要求太高,成本上应该也还能接受。可以考虑0.15倍左右的远心镜头。
SHI-C1216GLF
图像处理算法
端面的字符主要考虑字符识别算法,不过这里的字符看起来明显,但是使用传统的NI视觉中的OCR识别,效果并不是很好:
OCR字符识别效果不佳
而孔中的黑色金属条,则可以先确认孔的位置角度,然后再确认其中的金属条的位置角度,再来求之间的角度差:
粒子分析求孔的位置角度
求内部黑色金属条的位置方向
求内部黑色的金属条时,不能直接查找孔中的黑色目标,虽然和孔的背景区分明显,但是有些金属条因为位置不对,是和钛钉孔边缘连接在一起的,这时是分不开孔的,过滤后金属条就没有了。这里使用的是对孔阈值,然后删除边界的大目标(删除钛钉本体只得到孔),然后缓存得到一个被减图像,之后使用凸包函数,得到孔的凸包粒子,再减去前面的缓存图像,这样就可以得到内部的金属条的粒子。当然,相减后还有一些细小的干扰占,可以使用粒子滤波器来过滤。之后再次使用粒子分析求得粒子的位置和角度:
金属条的位置角度
机器视觉项目实现难度
★~★★★
本方案中的字符识别稳定性使用NI视觉比较差,考虑换库,如HALCON的DEEPOCR。金属条有无、角度、位移等测量相对要容易一些,而变形则可能因为现有的图像分辨率不够高,测量的不是太准确。因为要测变形,则需要考虑金属条的直边的直线度。