视觉应用工程师(面试)

视觉应用工程师(面试)

1.自我介绍、会的技能、项目

2.相机和机械手调试过程

  • 检查硬件,看软件驱动是否链接,
  • 调节相机和镜头保证能够识别这个物料,
  • 看接口和通讯是否正常,如:波特率,数据位,停止位等,
  • 测试引导功能,如机械手自动抓取

3.九点标定的意义

建立相机像素坐标系与机械手物理坐标系之间的精确映射关系

简单说: 转换像素坐标为机械手坐标

4.九点标定和旋转中心过程

  • 选择标定板,选择一个3*3的九点标定板(圆形)
  • 相机拍照: 使用相机拍照标定板,找到这九个圆点的中心点
  • 计算转换矩阵: 用采集到的坐标或机械坐标,通过最小二乘法计算出一个3*3的转换矩阵,也就是让Z轴走九个点
  • 应用转换矩阵: 得到转换矩阵,可以用它将新的图像坐标转换成机械坐标

大白话: 选择合适标定板,机械手抓取物料拍照, 依次走九个点,计算像素值,转换成物理值, 旋转中心就是机械手抓取物料放到相机范围下,旋转机械手五个角度(5-7度), 将这个五个角度像素坐标转换成物理坐标, 使用拟合算法,也就是把这个五个像素值,填到拟合圆工具里面,来得到拟合圆的中心坐标, 最后通过Dx,Dy,Da计算的出偏差

选择一个特征点,在相机下依次旋转5个角度,获取5个位置的特征点像素坐标,记录每个位置的机械手坐标
使用拟合算法,将五个点拟合为一个圆,求出圆心坐标和旋转半径,将圆心坐标转换为机械手坐标中的坐标,计算偏差


  1. 在相机视野内选择一个点
  2. 固定好物料在相机视野范围下
  3. 旋转机械手五个角度(5-7度)获取五个位置
  4. 将这个五个角度的像素坐标转换成物理坐标,使用拟合算法,拟合出圆心坐标和旋转半径
  5. 通过拟合得到圆心坐标,计算出旋转中心的物理坐标
  6. 通过Dx,Dy,Da计算出偏差

5.九点标定和十二点标定的区别

  1. 九点标定使用的是3*3棋盘或标定板,通常以Z轴或均匀分布的方式采集
  2. 十二点标定使用3*4的棋盘或标定分布更密集

主要增加了三个点, 能够计算物料的旋转中心

6.除了九点和十二点还有什么坐标

  1. 超大视野坐标

​ 通过多个相机视野拼成一个大的视野,实现对大范围场景的精确标定

  • 旋转中心坐标

    旋转中心标定就是在相机视野内,内旋转,通过拟合圆,拟合出旋转中心的坐标

  • 三点标定

    • 三点标定是一种简单的标定方式,主要用于二维平面,计算量小,操作也简单,通过三个非共线的点确定相机和机械手之间的坐标

7.RMS 是什么?怎么计算

RMS是像素转物距的一个均方根差值

  • 比如: 真实值:2.0,3.5,4.0,5.5
  • 预测值:2.1,3.6,3.9,5.7
  • 平方差:(2.1-2.0)*(2.1-2.0)=0.01
  • 总值除以数在进行开平方 (平方根)

8.九点标定的意义和原理

意义:就是把像素值转换成机械手的实际距离(物理距离)

原理:基于二维仿射变换,相机图像坐标系和机械手坐标系的位置,求出两者之间的几何变换

9.相机在哪里安装

肯定在机台检测的下方安装,这样定位的的时候好检测

10.机械手抓起来的物料之后的目的(放料)

抓取物料之后,移动到相机位置拍照,计算偏差,把偏差坐标发给plc ,plc引到机械手贴合泡棉到笔记本上

11.放料的精度是多少

放料的精度是0.02mm左右, 最终贴合到±0.15mm左右

12.图像预处理工具,用了哪些算法

  • 图像增强

    • 加减常量
    • 对比度拉伸(调整)
    • 直方图均衡化
  • 图像降噪(滤波处理)

    • 均值滤波:取邻域像素平均值 平滑图像减少噪音 如:椒盐噪音
    • 高斯滤波 : 能够有效抑制高斯噪音,平滑图像 如:使用高斯核对图像进行卷积,能够有效去除图像中的高斯噪音
    • 中值滤波: 通过取邻域像素的中值来代替像素值,使用(高斯和椒盐噪声)
    • 双边滤波: 再去除噪音的同时,能够保留图像的边缘信息,适用于对图像进行平滑处理
  • 图像分割

    • 阈值分割: 根据图像的灰度值和颜色特征,将图像分为前景色和背景色。常见的阈值分割方法包括固定阈值分割、最优阈值分割和自适应阈值分割

      使用自动阈值可以适当滤除一定的边缘干扰

    • 边缘检测: 利用边缘检测算子,如Sobel算子、Prewitt算子、Canny算子、提取图像中的边缘信息。

    • 区域生长:从图像中的一个或多个种子点开始,根据一定的生长规则,将相邻的像素点合并到一个区域中,从而实现图像分割

  • 图像变换

    • 傅里叶变换: 将图像从空间域转换到频域,便于进行频域滤波等操作
    • 几何变换: 包括图像缩放、旋转、翻转等,用于调整图像的大小和方向
    • 色度变换:调整图像的色调、饱和度、亮度等属性

13.Blob斑点工具,参数有哪些,如何筛选

主要用于检测和分析图像中的斑点特征:

  1. SegmentationParams.Mode: 设置图像分割模式,包括固定阈值(HardFixedThreshold)、动态阈值(HardDynamicThreshold)、相对阈值(HardRelativeThreshold)等。
  2. SegmentationParams.Polarity: 设置斑点的极性,包括白底黑点(DarkBlobs)和黑底白底(LightBlobs)
  3. ConnectivityMode :设置连通性,包括已标记(Labeled)、灰度(GreyScale)等。
  4. ConnectivityCleanup :设置连通性清理模式,包括修剪(Prune)、填充(Fill)等
  5. ConnectivityMinPixels :设置最小面积,用于过滤掉过小的斑点
  6. Region :设置检测区域的形状,包括圆形(CogCircle)、椭圆(CogEllipse)、多边形(CogPolygon)等。
  7. RunTimeMeasures :设置测量属性,包括面积(Area)、质心坐标(CenterMassX、CenterMassY)等
  • 阈值模式:选择合适的阈值模式(固定阈值、动态阈值、相对阈值)来分割图像中的斑点和背景。
  • 极性设置:根据斑点的灰度特性,选择白底黑点或黑底白点的极性。
  • 连通性处理:通过设置连通性模式和清理模式,处理斑点的连通性问题
  • 区域设置:指定检测区域,以限制斑点检测的范围。
  • 面积过滤:通过设置最小面积和最大面积,过滤掉不符合要求的斑点
  • 形状筛选:通过设置形状参数,如非环形值,筛选出特定形状的斑点

14.模板匹配效果不好的时候,怎么去优化

参数设置,如果图像有噪音或光照均匀不足,匹配都可能受到影响

  • 优化算法
    • 分块匹配算法:将图像划分为较小的块,并分别对每个块进行模板匹配,可以减少计算量,但可能会导致匹配精度下降。需要合理设置块的大小和重叠量。
    • 快速傅里叶变换(FFT)加速:利用FFT将图像转换到频域,利用卷积定理实现高效的二维卷积,从而在频域中进行模板匹配,可以极大地减少计算量,使得大尺寸图像的匹配成为可能
  • 限定搜索ROI的区域,减少搜索范围,提高匹配速度
  • 调整匹配窗口大小,相似度阈值
  • 降噪处理
  • 增强目标区域特征 如:直方图均衡化,对比度增强,锐化

15.如果现在模板匹配非常大,像素特别高,怎么去解决?

  • 调整曝光时间,可以增加帧率,保证图像质量
  • 降低分辨率,减少数据量,提高帧率
  • 减少处理区域,只处理图像中关键区域

16.卡尺计分方式

  • 对比度:对比度卡尺计分基于灰度差来评估。卡尺搜索灰度值大于设置的第一条边
    • 对比阈值:设定灰度的起始点,只有大于该值的边缘才会被检测到
    • X0: 设定搜索的起始点,从卡尺中心沿搜索方向反方向距离为X0的点开始搜索
    • 实例:当X0设置为160时,会搜索灰度差大于160的第一条边
  • 位置
    • 位置卡尺计分基于卡尺中心到特征的距离来评估。卡尺会从距离卡尺中心为X0的点开始,沿搜索方向搜索第一个符合对比度阈值的特征边
  • PositionNeg
    • PositionNeg卡尺计分基于卡尺框内抓取第一根符合条件的线来评估。卡尺会沿搜索方向在卡尺框内抓取第一根符合条件的线。

总结: 对比度适用于灰度差较大的情况,位置需要用于精确控制搜索起始点的情况, 适用于卡尺框抓取第一根符合条件的线

17.靶面效果不好的时候怎么办

这可能就会是图像处理、模板匹配或者靶材料等方面问题了,

  • 优化图像处理技术
    • 图像去噪
    • 对比度增强
    • 边缘检测
  • 调整模板参数
    • 调整模板尺寸
    • 设置合适匹配窗口大小
    • 调整相似度阈值
  • 限定搜索区域
    • 搜索ROI的区域,可以减少搜索范围,提高匹配速度
  • 优化算法

18.卡尺工具忽略点

是由于噪声或检测误差导致的,一般选取总点数的5%作为忽略点数,忽略点数一般不能超过卡尺数量的1/3

  • 边缘模式: 可以设置查找单个边缘或边缘对
  • 边缘极性: 设置灰度值变换确实,可以从暗到明、从明到暗或任意极致
  • 对比度阈值: 设置边缘检测的对比度阈值,只有对比度大于该值的边缘才会被检测到。

19.用几个相机

检测类或者比较简单的项目,可以说是两个相机,一个相机CT不够

CT可以说是一个小时4000 单个下昂及不够

如果过是引导项目 一般是两个或者三个 ,如果是缺陷检测可以说是2到4个 不同的缺陷类型用不同的光源或者检测的位置略微不同

相关推荐
ZeekerLin13 分钟前
AI时代,企业核心业务中台化建设思考
大数据·人工智能·企业ai转型
刘海东刘海东16 分钟前
完成了一二三四章
人工智能
甲维斯16 分钟前
普通人慎入!Fable5原创游戏“死线求生”第一版!
人工智能·ai编程·游戏开发
北鹤M16 分钟前
ai模特画图高效实现换装,批量生图工具实测体验
人工智能·aigc
大C聊AI23 分钟前
通用办公 AI 难以适配招投标专业场景,垂直行业 AI 工具落地实践|智标领航技术选型分析
人工智能·效率提升·ai 工具·招投标·智标领航·ai 辅助办公
海天一色y25 分钟前
AI Agent的自进化闭环
人工智能
大鱼>32 分钟前
超参数调优进阶:Optuna/Bayesian/Early Stopping
人工智能·学习·机器学习·聚类
VIP_CQCRE36 分钟前
OpenAI Chat Completion API 接入指南:用 Ace Data Cloud 快速把 ChatGPT 能力接进业务系统
人工智能·chatgpt·openai·api·acedatacloud
梦想的初衷~39 分钟前
【科研自动化实战】Codex × Claude Code × OpenClaw × Hermes:四位AI研究员的科研协作流水线搭建指南
人工智能·codex·claude code·openclaw·科研自动化·agent协作·ai科研助手
m0_6265352043 分钟前
近似attention
人工智能·算法·机器学习