而在PaddleOCR中,我们选取的是基于分割的DBNet3方法。 DBNet的工作原理如下图所示。针对基于分割的方法需要使用阈值进行二值化处理而导致后处理耗时的问题,DBNet提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络在训练的时候能端对端的学习文本分割的阈值。自动调节阈值不仅带来...
由于DBNet的文本检测效率较高,PaddleOCR选择了DBNet作为文本检测模型,DBNet框架如下 此外,PaddleOCRv1使用了light backbone、light head、remove SE module、cosine learning rate decay、learning rate warm-up及FPGM pruner使得文本检测模型更为轻量化,模型大小为1.4MB,下面对所用到的轻量化策略进行介绍。 2.2 DBNet 在...
而在PaddleOCR中,我们选取的是基于分割的DBNet3方法。 DBNet的工作原理如下图所示。针对基于分割的方法需要使用阈值进行二值化处理而导致后处理耗时的问题,DBNet提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络...
具体的网络结构和精心设计关键的三个 Loss 损失函数如下图所示: ①DML Loss:对于一张输入训练图片,分别送到两个 Student 网络,这里采用的是 DBNet 检测模型,输出对应的概率图(response maps),然后对比两个网络之间的 DML loss,这里采用的是散度的方法,对应的公式如下所示,其中 S1 和 S2 对应两个 Student 网络,...
DBNet的工作原理如下图所示。针对基于分割的方法需要使用阈值进行二值化处理而导致后处理耗时的问题,DBNet提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络在训练的时候能端对端的学习文本分割的阈值。自动调节阈值不仅带来精度的提升,同时简化了后处理,提高了文本检测的性能。
DBNet的工作原理如下图所示。针对基于分割的方法需要使用阈值进行二值化处理而导致后处理耗时的问题,DBNet提出了一种可学习阈值的方法,并巧妙地设计了一个近似于阶跃函数的二值化函数,使得分割网络在训练的时候能端对端的学习文本分割的阈值。自动调节阈值不仅带来精度的提升,同时简化了后处理,提高了文本检测的性能。
最终选定DBNet+RARE作为本次项目使用的模型,两个模型均使用MobileNetV3作为其主干网络(Backbone) 数据集 本次使用的数据集为CCPD2019车牌数据集 该数据集在合肥市的停车场采集得来,采集时间早上7:30到晚上10:00。停车场采集人员手持Android POS机对停车场的车辆拍照并手工标注车牌位置。拍摄的车牌照片涉及多种复杂环境...
而在PaddleOCR中,我们选取的是基于分割的DBNet方法。 DBNet的工作原理如上图所示。 一般而言,图像会经过特征金字塔fpn网络结构得到4个特征图,分别为原始图像的1/4、1/8、1/16和1/32的大小。然后,我们将4个特征图分别进行上采样为1/4的大小,再进行concatenation就会得到特征图f。接下来由特征图f得到我们的概率图...
①DML Loss:对于一张输入训练图片,分别送到两个 Student 网络,这里采用的是 DBNet 检测模型,输出对应的概率图(response maps),然后对比两个网络之间的 DML loss,这里采用的是散度的方法,对应的公式如下所示,其中 S1 和 S2 对应两个 Student 网络,KL 是散度计算公式: ...
针对文字检测:目前文字检测主要有基于回归的方式和基于分割的方式,这里我使用的是DBNet(https://arxiv.org/pdf/1911.08947.pdf)。DBNet是一个很简洁的基于分割的文字检测算法,针对排列较密集的场景也有不错的检测效果,细节部分可以看一下原论文。 针对文字识别:使用的是CRNN(https://arxiv.org/abs/1507.05717)。虽...