| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 文本检测之DBNet,DBNet++ -> 正文阅读 |
|
[人工智能]文本检测之DBNet,DBNet++ |
论文: DBNet:Real-time Scene Text Detection with Differentiable BinarizationReal-time Scene Text Detection with Differentiable Binarization DBNet++:Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion Github:https://github.com/MhLiao/DB 在MSRA-TD500数据集上的测试效果。DBNet的检测效果F1值和速度FPS都比其他算法要好很多。而DBNet++比DBNet速度约略,精度要高。 主要贡献:
文本检测方法汇总:
DBNet网络结构: 网络输入假设为w*h*3。网络整体结构采用FPN的设计思想,进行了5次下采样,3次上采样操作。最终的输出特征图大小为原图的1/4。网络头部部分,分别引出2个分支。一个负责预测概率图(probability map,(w/4)*(h/4)*1),代销为,另一个负责预测阈值图(threshold map,(w/4)*(h/4)*1)。概率图经过阈值图处理,进行二值化后得到二值图(approximate binary map,(w/4)*(h/4)*1)。最后经过后处理操作得到最终文字的边。 DBNet++网络结构: DBNet++在DBNet的基础上增加了ASF(Adaptive Scale Fusion)模块。不同尺度的特征通过ASF模块处理,可以得到更佳的融合特征。 ASF模块通过引入空间attention机制,使得融合后的特征更加鲁棒。 其中N表示要融合的特征数,这里N=4,表示从4个不同的分支引出的特征。 传统二值化 vs差异二值化: ? 传统二值化Standard binarization 传统的二值化,只是使用固定的阈值t进行二值化处理。 差异二值化Differentiable binarization ? 差异二值化,每个像素都使用不同的阈值进行二值化处理。而这个不同的阈值矩阵又是网络学习得到的。为了保证整个优化过程有梯度的传递,这里又将概率图和阈值图的差传入sigmoid函数,以此来保证梯度的传递。通过梯度优化,保证了不同的图片使用不同的阈值矩阵,达到最佳的二值化效果。 这里k被设置为50 定义损失函数为二分类交叉熵,l+表示正样本的loss,l-表示负样本的loss。 ? 分别对正负样本函数求导,得到下面的梯度公式。 其中x<0时,取l+,x>0时,取l- 可变形卷积Deformable convolution: 在ResNet-18和ResNet-50的主干网络conv3,conv4,conv5中使用了可变形卷积,以此保证足够大的感受野。 标签制作: ? 为了增大相邻文字之间的间距,缓解文字离得太近或者部分重叠的情况。概率图(probability map)的制作会在原始红色多边形的基础上,使用Vatti clipping算法,向内收缩D的距离。 ? r表示收缩率,这里设置为0.4 A表示原始红色多边形的面积 L表示原始红色多边形的周长 阈值图(threshold map)在红色多边形的基础上,分别向内收缩D距离形成蓝色多边形,向外扩张D距离形成绿色多边形。蓝色多边形和绿色多边形之间的像素形成阈值图。然后计算图内每个像素离最近的边(蓝色边,绿色边)的归一化距离,形成最终的阈值图。阈值图看起来中间像素亮,边缘像素暗。 后处理操作: 后处理操作中,使用概率图(probability map)或者使用二值图(approximate binary map)都是可以的。两者在效果上是一样的。这样在推理过程中,就可以去掉网络中的二值化过程,直接使用概率图。这样网络中的二值化过程的loss就更像一个辅助loss,来使得网络训练的效果更好。 后处理过程如下,
? 其中r’=1.5 A’为网络输出的二值化后的连通区域的面积 L’为网络输出的二值化后的连通区域的周长 损失函数: ? a=1.0 β=10 Ls:概率图(probability map)的loss,采用二分类交叉熵损失,并基于ohem难例挖掘,保证正负样本比例为1:3 Lb:二值图(binary map)的loss,采用二分类交叉熵损失,并基于ohem难例挖掘,保证正负样本比例为1:3 Lt:阈值图(threshold map)的loss,采用L1损失,其中Rd表示绿色膨胀轮廓内的像素 实验结果: DBNet? DBNet++ DBNet VS DBNet++? 总结:
?????4.通过提出DB(Differentiable Binarization),类似额外约束的loss,使得模型训练效果更佳。 ? ? ?5.DBNet++在DBNet的基础上,通过引入ASF模块,在少量耗时增加的代价下,提升了准确性。 ? ? ?6.可变形卷积(Deformable convolution)的引入,对精度提升巨大。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:23:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |