type
status
date
slug
summary
tags
category
icon
password

直线检测

是经典的底层视觉任务,对一些视觉任务,如自动驾驶、场景3D建模、无人机地平线检测等不可或缺。

传统算法

霍夫变换

notion image
notion image
霍夫变换就是参数映射变换。对每一个点都进行映射,并且映射还不止一次。(ρ,θ) 是存在步长的,以θ 取步长为例,当θ 取得步长大的时候,映射的(ρ,θ) 对少些,反之则多。
当θ 步长取得比较大的时候,你还想有很多交点是不可能的,所以说θ 步长不能太大,理论上是越小效果越好,因为越小,越接近于连续曲线,也就越容易相交。
但是越小带来的问题就是计算量越大——》先对图像进行边缘提取,一般使用canny算子生成黑白二值图像,在映射的时候,只需要把边缘上的点进行参数空间变换就可以。
 

LSD(line segment detection)

主要思想是基于梯度构建每个像素点的特征,来表征这一点可能处于什么方向的直线上。随后对这些特征依据邻近程度、方向相似度等进行聚类,得到可能的直线区域。最后对这些区域进行筛选、后处理等,得到最终的直线检测结果。整个检测过程很复杂,为了得到较好的检测结果,需要精心调节多个算法参数。
notion image
精度、算法复杂度等都要好于霍夫直线检测
缺点:
1.对于直线相交情况,因为设置了每个点是否USED,因此每个点只能属于一条直线,若有相交必有至少一条直线被割裂为两条。又因为其基于梯度,直线交点梯度值往往又较小(不被检测为边缘点),因此很有可能相交的两条直线在交点处被割裂为四条线段。
2.由于局部检测算法自增长的特点,对于长线段被遮挡、局部模糊等原因经常割裂为多条直线。这些缺点在Hough变换中不存在。

深度学习算法

Wireframe 【CVPR 18】

一路检测直线的两个端点(junction),一路对直线像素做分割。其中,junction路需要去回归端点的位置(junction center decoders)和端点对应的直线方向、置信度信息(junction branch decoders),而line路则是要判断每个点是否是直线像素。
notion image
wireframe网络并非端到端的网络,其需要后处理来将分割结果和端点检测结果进行融合,才能得到最终检测结果。

LCNN :End-to-End Wireframe Parsing【ICCV 19】

notion image
LCNN首先进行特征提取,采用的backbone也是级联沙漏网络。随后,得到的特征图送入junction header,来预测可能的端点位置。在推理时,对预测的所有端点,两两生成一个line proposal(类比RCNN region proposal),随后通过proposal的两个端点位置,去特征图上采样得到该proposal对应的特征向量(line feature),采样的过程为LoI Pooling(类比RCNN RoI pooling)。最终,将line feature送入全连接层,得到该proposal的分数,从而判定是否为一条直线。
 
级联沙漏网络最初应用于人体姿态检测任务,其名称由来是在网络架构上,不断地将bottom-up,top-down的沙漏型结构子网络级联,从而不断地整合全局和局部信息,有利于对人体关节、四肢、人体位置等各个尺度上的信息进行整合。直线检测任务与人体姿态检测任务在全局、局部信息的利用上是类似的,从直线跨度上看是宏观的,但从直线像素本身的定位来看则是微观的,因此也需要不断整合各个尺度上的信息。

TP-LSD【 ECCV 20】

TP-LSD 是单阶段的直线检测网络。TP表示“Tri-points”,表示其对直线的三点式建模方式。
不同的直线建模方式:将直线表示成中点及到两端点的方向和距离,就可以同时去回归中点位置、直线方向、中点到两侧的距离。如此一来,就可以避免预测端点,再对端点两两组合预测分数的过程。
notion image
先利用通用的特征提取器提取多尺度特征,随后通过不同的解码层,分别进行直线像素语义分割、中点检测,中点到两端点的位移向量预测。直线语义分割作为辅助信息,帮助中点定位,位移向量求解以及最终的融合。
notion image

深度强化学习

notion image
notion image
传统的深度学习方法依赖于大量的标注数据和预先定义的特征,这限制了其应用范围和扩展性。
深度强化学习则能够克服这些限制,通过与环境的互动学习,自主地完成任务,并且不需要预先定义的特征。在图像识别领域,深度强化学习可以用于自动生成标注数据,优化模型参数,提高识别准确率,并且能够处理未知的图像任务。
 
SAM用于遥感影像中提取向量化的道路网络YOLOv10:Real-Time End-to-End Object Detection
Zhangsan
Zhangsan
一个普通的干饭人🍚
Announcement
🎉这是一个分享个人见解的博客🎉
-— - 很高兴与你在这里相遇 ---
👏欢迎与我交流👏