美文网首页
目标检测方法的选择

目标检测方法的选择

作者: 总有bug害本宫 | 来源:发表于2020-05-19 01:30 被阅读0次

    图像目标检测方法有多种,由简到难,如下:

    • 第一阶段:
      使用传统cv方法进行目标检测、匹配
      样本量:1张标准图
    • 第二阶段:
      使用机器学习HOG特征检测/SVM分类器
      样本量:每个模型100张图片
    • 第三阶段:
      使用深度学习训练模型。
      样本量:每个模型500张图片
      ——————————————————————————————

    传统方法:

    理论基础:

    1. 物体轮廓上关键点可代表物体特征
    OpenCV的匹配方法:
    1)Sift角点检测
    2)Surf角点检测
    3) Orb角点检测

    2. 尺度不变特征:亮度,清晰度,旋转,缩放,颜色发生什么改变,轮廓特征都是明显的
    例1:拼图

    15246d178a96b8a714135fca5a4c55fb.jpeg

    具体方法:

    1. 二值化处理(黑白图),凸显出轮廓

    20200519.jpg
    2. 找到轮廓上的特征点
    20200519.jpg
    3. 特征点按照特征描述符进行匹配(对应连线)
    OpenCV匹配方法:
    1)BF_match:暴力匹配,一一对应
    2)Knn_match: 返回k个可能与原点最匹配的点集,自行筛选,
    3)Flann_match:适合大型数据集

    例1:
    20200519.jpg
    例2: 联合丽华comp.png
    ———————————————————————————————
    仿射/透视变换,是同一个物体,但是特征不一样
    仿射变换:
    截屏2020-05-19 上午11.31.14.png
    透视变换:
    截屏2020-05-19 上午11.31.53.png
    ———————————————————————————————
    4. 标准图关键点集kp1 -> 匹配图关键点集kp2,中间经历了一堆变化,用矩阵M来代替这所有的变换,M是可以通过数理方程求解出的
    截屏2020-05-19 上午12.46.49.png
    OpenCV:
    步骤1)Ransac去除坏点
    在匹配过程可能会有一些错误,而这些错误会影响最终结果
    Ransac原理:
    a. 随机从数据集中随机抽出4个样本数据 (此4个样本之间不能共线),计算出单应矩阵H,记为模型M;
    b.计算数据集中所有数据与模型M的投影误差,若误差小于阈值,加入内点集 I ;
    c.如果当前内点集 I 元素个数大于最优内点集 I_best , 则更新 I_best = I,同时更新迭代次数k ;
    d.如果迭代次数大于k,则退出 ; 否则迭代次数加1,并重复上述步骤;

    截屏2020-05-19 上午1.27.18.png
    截屏2020-05-19 上午1.27.28.png
    步骤2)求解单应性矩阵M

    **5. 将标准图通过M变换到标准图’ **

    截屏2020-05-19 上午11.17.32.png
    6.标准图’的位置 = 标准图在测试图中的位置
    image.png

    缺点

    1. 曲面无法检测
    例子

    2. 同一张图内 有多个目标 无法分开检测
    解决方法:HOG/SVM行人检测
    (如白色或纯色背景,可以分割图片分别检测;复杂背景无法分割)

    20200519.jpg
    3.角点检测,需要角点特征明显
    如图形中出现大量圆形 or 简单图片,反而难以检测。(目标越复杂,越精准)
    例1: 截屏2020-05-19 上午12.32.45.png
    例2: 截屏2020-05-19 上午12.35.02.png
    例3: pepsi_cn_s.png

    相关文章

      网友评论

          本文标题:目标检测方法的选择

          本文链接:https://www.haomeiwen.com/subject/szwmohtx.html