4.3 线条

4.3.1 逐次近似

  • 直线简化(line simplification): 分段线性的折线或者B样条曲线

        

深度学习计算机视觉模型构建_拟合

4.3.2 Hough 变换

  • 一种根据边缘来对可能的直线位置进行投票的方法:每个边缘点为通过它的所有可能直线进行投票(利用每个边界基元的局部方向信息),检查那些对应着最高累加器或者区间的直线以寻找可能的线匹配。
  • 利用点线对偶性(duality): 图像空间中共线的点对应在参数空间里共点的线 
  • 哈夫变换根据点线对偶性把图像空间的直线检测问题转换成了参数空间的点检测问题,后者只需要简单的累加统计就可以实现对边缘的检测。

         

深度学习计算机视觉模型构建_参数空间_02

  • 用哈夫变换检测直线的具体实现过程:

        

        

深度学习计算机视觉模型构建_拟合_03

        算法步骤如下:

        

深度学习计算机视觉模型构建_参数空间_04

  • 基于RANSAC的直线检测:随机选取一对边界基元形成一个直线假设,然后测试其它的边界基元有多少落在这条直线上。

4.3.3 消失点

  • 找到公共消失点有助于优化直线的位置,也可以在特定场景下确定摄像机的内参数和外参数。
  • 一种消失点检测算法:
  1. 使用哈夫变换来投票累加那些可能的消失点候选(立方图、高斯球),可以根据消失点位置的不确定性和所依据的线段的模长来进行加权投票。哈夫累加器空间可以用球坐标和立方图表示。
  2. 最后可以用鲁棒的最小二乘拟合来为每一个消失点估计出更为精准的位置:

          

深度学习计算机视觉模型构建_图像空间_05

 

           

深度学习计算机视觉模型构建_拟合_06

 

        

深度学习计算机视觉模型构建_人工智能_07

4.3.4 应用:矩形检测

  • 检测到正交的消失点方向后,先优化拟合线的方程,搜索在直线交点附近的角点,然后通过调整对应的图像块和寻找占主导的水平和垂直方向上的边缘来验证矩形假设。