机器视觉在芯片测试中的应用

本项目中使用机器视觉来进行芯片位置纠正,其实也没什么东西,就是把芯片吸过来,拍个照,看位置偏多少,再把位置纠正,当然了,事先要整一个芯片的图片作为对照的模板。所以这篇文章就根据项目的先后顺序来描述一下,有经验的可以一起来讨论优化,没经验的可以学习参考一下。

一、图像采集系统的搭建

图像采集系统主要包括:相机、镜头、光源、视觉控制器、显示器。

图像采集系统的搭建其实很简单,连连线,安装一下就完事了。但是部件的选型真是一个浩大的工程,别说是新手了,就是有几年经验的视觉工程师也不一定能轻松完成。这里面的痛苦,谁用谁知道。

1、相机选型

相机的主要参数就像素了,怎么选?像素高,图像是清晰了,但是采集和处理的时间就长,像素低了,采集和处理的时间短,但是图像模糊啊,能不能满足使用就不知道了。还有,高像素高清的相机成本也高。

相机选好之后,相机的参数也得设置一些,就是触发采集模式、曝光时间这些参数等。在工程上一般使用硬件触发采集,曝光时间短一点,光源亮一些就行。

2、光源选型

常见的光源有白光、红光、蓝光。在芯片纠偏这一块,一般使用环形光源,光源的角度常见在60-90度之间,这个角度就要根据你的工况来选择了,没有好的建议,就是自己去试一试。

3、镜头选型

镜头应该是最核心的部件了,经常使用相机的朋友,尤其是在高精度领域的朋友肯定知道,镜头的成本比相机的成本高多了,镜头要考虑的东西就比较多了,要多大的视野,多大的工作距离,多大的精度等,全部参数搞明白之后也不一定选得好,还得搞样品去试。镜头和相机的选型应该单独写一篇文章,内容太多了。

4、视觉控制器的选型

视觉控制器就是图像采集与处理的终端了,常见的就是电脑了,也有运动与视觉一体的运动控制器,也有单独的视觉控制器,根据自己的项目来选择吧。

二、芯片模板创建

图像采集的硬件系统搭建好之后,自然就要搞几张照片来试试了。这里是用于芯片的纠偏,所以就要调整好焦距,拍一张高清的芯片图片,用来作为对照模板。创建模板也有好多个步骤,如下所示:

1、采集芯片的图片

2、编辑图片,框选出感兴趣的区域用来识别后续的芯片,截取模板

3、保存模板,模板保存好就是为了后续的读出与比较

4、设置模板参数,模板参数包括,起始角度、终止角度、对比度、金字塔数、最小比例、最大比例、角度步长、特征简约等。

三、位置的标定

相机拍摄的芯片图像,系统只知道有多少个像素大小,但是我们一般算位置或者尺寸用的单位是mm。这之间就有一个比例关系了,说简单了就是算算,实际1mm的长度,里面可以容纳多少个像素。直到了这个参数,后面相机采集到的芯片图片就知道实际的芯片尺寸是多大了,位置偏了多少。

常见的做法是使用9点标定发或者16点标定法来标定。那9点标定来说吧,就是用一个3*3的圆点矩阵,每个点之间的间距是2mm(当然也可以是其他尺寸),根据相机和镜头的视野来选择。如果一中间点的坐标为(0,0),那么从左上角到右下角的坐标就都可以确定9个坐标点了,这9个坐标点是用mm来表示的。

相机拍摄这个9点标定块,通过识别圆心点,也可以获得9个坐标点,但是这个9个坐标点是用像素来表示的。

算一下mm与像素之间的关系系数,把这个比例关系系数保存起来,后面都用这个系数来转换,以后每次拍摄芯片,就知道芯片在X轴,Y轴上偏移了多少,角度偏移了多少。

四、芯片纠偏

芯片位置的纠偏首先就要识别到芯片,识别芯片就是把吸到的芯片拍个照,跟模板对比一下,先看看是不是长得一样,确认长得一样之后再来计算与模板之间的角度或者位置偏差。

前面模板创建好了,标定关系也算好了,后面纠偏就是临门一脚了。根据算出来的X轴,Y轴,R轴差多少,多退少补就行了,当然这个多退少补是要有个运动执行机构来执行的,一般使用机械臂、龙门架之类的。

相关推荐
AI技术控1 小时前
计算机视觉算法实战——无人机检测
算法·计算机视觉·无人机
m0_743106467 小时前
【论文笔记】MV-DUSt3R+:两秒重建一个3D场景
论文阅读·深度学习·计算机视觉·3d·几何学
m0_743106467 小时前
【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法
论文阅读·深度学习·计算机视觉·3d·几何学
Coovally AI模型快速验证10 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
AI浩11 小时前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控11 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
old_power15 小时前
【PCL】Segmentation 模块—— 基于图割算法的点云分割(Min-Cut Based Segmentation)
c++·算法·计算机视觉·3d
PaLu-LI16 小时前
ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
c++·人工智能·opencv·学习·ubuntu·计算机视觉
清图18 小时前
Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型
人工智能·python·深度学习·机器学习·计算机视觉·自然语言处理·ai作画
pchmi21 小时前
C# OpenCV机器视觉:红外体温检测
人工智能·数码相机·opencv·计算机视觉·c#·机器视觉·opencvsharp