矩形目标检测

身份证、名片、书籍、 考试试卷、答题卡这些检测目标都属于矩形目标检测。

一,现有技术
 传统检测方法思路:
  第一步,采用滑动窗口,设置不同的大小,遍历图像,得到一些目标的候选框;
  第二步,候选框的图像特征提取;
  第三步,对候选框提取的特征进行分类器判断;
  第四步,对判断为目标的候选框进行处理得到最终的目标边框。
基于深度学习的目标检测:
候选区域+深度学习的方法,如 R-CNN,Fast R-CNN, Faster R-CNN 等方法;
基于深度学习的回归方法,如 YOLO、SSD 等方法。最后得到目标的边框和类别。
二,现有技术存在的问题
将目标检测模块部署在移动端,目标检测必须具备实效性。
传统算法中,基于滑动窗口的区域选择没有针对性,窗口冗余多,时间复杂度高,
另外手工设计的特征对于多样性的变换没有很好的鲁棒性。
深度学习方法中,移动端轻量级网络结构往往达不到高精度。VGG 等网络结构虽
然能达到高精度,但部署到移动端很难达到实时性。
三,本文方法介绍
 
     从图像中定位矩形目标的边框,有两方面:定位及评估准确性;
     
     技术思路:利用目标的边缘与线段,借助 ransac 思想,使用满足条件的多条线段去估计一个凸四边形,用 4 条线段或者 3 条线段,就能 估计出符合期望的凸四边形。因此,ransac 过程中,先后使用 4 条线段、3 条线段去估 计凸四边形,如果成功,就得到矩形目标的边框。 
    本方法检测透视变换程度较小的矩形目标。目标呈现在图像上,是一个不 规则凸四边形,检测到的线段构成的凸四边形越接近矩形越好。
   
    3D 世界坐标系转换到 2D 图像像素坐标系:

       其中 K 是摄像机内参,R,t 为世界坐标系到摄像机坐标系的旋转、平移变换。目标是一
个平面时,例如如文本平面,这里假定此平面是世界坐标系下的 Z=0 平面,则目标上的点
对应的上述变换就变成了:
     

其中 P 是 3x3 可逆矩阵,涵盖了摄像机内外参数,那么透视变换过程就是:

其中 P 是透视变换矩阵,可以基于对应的两个二维点集估计出来。
如果想要得到摄像机位置 1 到位置 2 的 x,y,z 三个方向的旋转角度,这需要估计 P,是一
个摄像机姿态估计问题。
因此,3D 空间中的矩形目标,变换后到图像上一个不规则凸四边形,这个凸四边形与
原矩形约接近越好。

四,流程

第 1 步,计算图像的边缘
可以使用传统的边缘检测方法,如 canny 边缘。
也可以使用轻量级的网络,检测边缘。精度不要求太高,移动端达到实时性就好。如
基于 mobilenet 训练的 HED 方法。
第 2 步,线段检测
利用基于概率的霍夫变换直线检测在边缘图上检测线段。
第 3 步,对线段进行合并,得到新线段集,见附录[9][10][11]
设定两直线距离阈值 e1、两直线弧度阈值 e2,两条线段的直线距离、弧度差若达到阈
值以内,则合并两线段为一条新线段。这样,遍历所有线段后,得到一组新的线段集。
第 4 步,遍历新线段集,抽取 4 条线段估计凸四边形。
如果估计成功,则输出凸四边形,作为边框定位结果;
如果估计不成功,进入第 5 步。
第 5 步,遍历新线段集,抽取 3 条线段估计凸四边形。
如果估计成功,则输出凸四边形,作为边框定位结果;
如果估计不成功,则失败。
五,效果
 
手持、弯折

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值