- 博客(29)
- 收藏
- 关注
原创 项目实训2——gitee入门
我们小组在Gitee上创建了一个仓库来存放项目,这样也便于我们修改项目。 我今天从远程仓库上克隆了组长放上的项目框架,并把自己编写的界面进行了适配调整。下面是组长的指导:小组成员要做的本地 git clone 项目连接新建本地dev分支git checkout -b dev做出代码修改git add .,git commit -m "描述"使用git push origin dev推送到远程仓库dev分支通知管理员进行分支合并 由于我的电脑没有配置VPN,所以我在联想的软件商店
2022-03-27 22:46:56
417
原创 项目实训1——管理员端界面准备
我们小组先把项目的管理员端的初步功能界面做出来,让指导老师检查,然后再确定后续主要功能的工具和实现。 界面用VUE 2.0来编写,配合element ui组件。整体界面布局有侧边栏、顶部栏和主要内容块。
2022-03-27 22:35:10
1506
原创 PaddleOCR的方向分类器代码解析(六)
2021SC@SDUSC 这一篇博客我来介绍PaddleOCR的方向分类器使用的评估代码。 在机器学习中,性能指标(Metrics)是衡量一个模型好坏的关键,通过衡量模型输出预测值和 真实值之间的某种“距离”得出的。性能指标往往是我们做模型时的最终目标,如准确率,召回率,敏感度等等,但是性能指标常常因为不可微分,无法作为优化的loss函数,因此采用如cross-entropy,rmse等“距离”可微函数作为优化目标,以期待在loss函数降低的时候,能够提高性能指标。而最终目标的性能指标则作为模型训练
2021-12-22 23:23:15
1598
原创 PaddleOCR的方向分类器代码解析(五)
2021SC@SDUSC 这一篇博客我将用来介绍PaddleOCR的方向分类器所使用的后处理代码。后处理顾名思义是在预处理之后再对图像进行处理,方向分类器中的后处理作用为转换图像的文本标签和文本索引。常见的后处理算法有非极大抑制、形态学的膨胀/腐蚀等等。这里的后处理代码中没有什么著名的算法,仅使用paddle包自身的数据结构和函数就完成了图像后处理操作。下面是后处理代码,PaddleOCR-release-2.2->ppocr->postprocess->cls_postprocess
2021-12-15 23:02:05
4906
原创 PaddleOCR的方向分类器代码解析(四)
2021SC@SDUSC 深度学习可以归结为一个优化问题,最小化目标函数。最优化的求解过程,首先求解目标函数的梯度,然后将参数向负梯度方向更新,学习率表明梯度更新的步伐大小。最优化的过程依赖的算法称为优化器,可以看出深度学习优化器的两个核心是梯度与学习率,前者决定参数更新的方向后者决定参数更新程度。 PaddleOCR的方向分类器所使用的的优化器为Adam优化算法,它结合了AdaGrad和RMSProp两种优化算法的优点,对梯度的一阶矩估计(First Moment Estimation,即梯度的均
2021-12-10 23:36:51
2701
原创 PaddleOCR的方向分类器代码解析(三)
2021SC@SDUSC 在深度学习中,损失函数是用来衡量一组参数好坏的函数,其衡量方式是比较网络输出和真实输出的差异。损失函数并不使用测试数据来衡量网络的性能,损失函数用来指导训练过程,使得网络的参数向损失降低的方向改变。损失函数特性1. 当网络的输出值和真实值一致时,损失为0,真实输出和网络输出越不一致时值越大;2. 损失函数要求是凸函数,容易可导。需要根据输出的变化而平滑的变化,如果不容易求导会导致训练过程缓慢。使用损失函数的具体步骤为1. 用随机值初始化前向计算公式的参数;2. 代入样本,计算输
2021-12-03 23:20:50
764
原创 PaddleOCR的方向分类器代码解析(二)
2021SC@SDUSC 方向分类器是文本检测矫正的一部分。文本检测一般是检测四个点,通过对四个点的水平变化,把文本框矫正成水平方向,这一步在PaddleOCR中称为几何变换。但是文本框内的输入方向可能不是正向的。方向分类器的作用就是判断水平文本框中的文字是正向的还是倒向的(根据yml配置文件的label_list项可知,文本分类器仅支持这两种)。倒向的文字由方向分类器正向化后再去识别。...
2021-11-26 22:58:15
3879
原创 方向分类器优化之增大输入分辨率(Input Resolution)
2021SC@SDUSC 我之前在PaddleOCR的整体理解中写道,方向分类器依靠BDA数据增强和增大输入分辨率以提高识别精度,“图像的分辨率与识别精度有关,PP-OCR将归一化图像的高度和宽度分别设置为48和192,以此来提高方向分类器的准确率”。但是我却在写博客时忽略了增大输入分辨率这个方法。所以我这周的博客就来分析增大图像输入分辨率如何优化方向分类器。 人们通常使用24x24的图像进行方向分辨的模型训练,但将图像转换成320x320时,指标就能提高1-2个百分点,模型表达能力就有一个非常显著
2021-11-20 13:46:47
2834
原创 PaddleOCR的方向分类器代码解析(一)
2021SC@SDUSC 我们先来看PaddleOCR-release-2.2->configs->cls中的cls_mv3.yml,即参数配置文件。参数配置文件介绍了一个模块使用的框架、算法和整体结构,是了解模块代码之前必看的内容。我之前的博客内容都是基于PaddleOCR的官方论文,所以介绍的内容只有最重要的几部分,对方向分类器的认识也不够完整。但是现在再看yml文件也不算晚,就当是我理解代码的第一步了。Global:字段用途默认值use_gpu设置代码能否在
2021-11-13 22:17:31
1882
原创 方向分类器的整体理解及程序框架
2021SC@SDUSC 在前几篇博客中我学习并介绍了PaddleOCR的方向分类器中用到的模型和算法,今天的这篇博客就来学习一下方向分类器真正的作用和算法实现框架。 图片经过文字检测之后将图片中可能为文字的部分用矩形框标出,此时的文字可能是倒转的,然后由方向分类器处理矩形框,将角度不正确的文字处理成正常方向的。经过方向分类器处理后的文字矩形框再通过文字识别,提取其中的文字。由此看来,方向分类器是文字检测和文字识别之间不可或缺的一部分,只有正确方向的矩形框才可以被识别出来文字。 文字角度分类主要
2021-11-05 21:38:29
1662
1
原创 分析方向分类器中使用的PACT
2021SC@SDUSC量化 将一张 uint8 类型、数值范围在 0~255 的图片归一成 float32 类型、数值范围在 0.0~1.0 的张量,这个过程就是反量化。类似地,我们经常将网络输出的范围在 0.0~1.0 之间的张量调整成数值为 0~255、uint8 类型的图片数据,这个过程就是量化。所以量化本质上只是对数值范围的重新调整。可以明显看出,反量化一般没有信息损失,而量化一般都会有精度损失。因为float32 能保存的数值范围本身就比 uint8 多,因此必定有大量数值无法用 uint
2021-10-28 15:01:47
661
原创 分析BDA——Base Data Augmentation对方向分类器的作用
2021SC@SDUSC摘要 一些图像处理操作如旋转、透视失真、运动模糊、高斯噪声去训练一个文本识别器,这个过程简称为BDA(Base Data Augmentation,基础数据增强)。处理过的图像被随机添加到训练图像中。实验表明,BDA对方向分类器的训练有一定的帮助。除此之外,RandAugment在训练方向分类器方面也展现了很好的效果。基础数据增强分析 神经网络可能会需要大量的数据来保证精度。如果一个欠训练的神经网络识别相同物体的摄影距离不同的三张图片,那么它可能就认为这是三张不同的图片。
2021-10-23 22:59:54
698
原创 PaddleOCR的整体理解
2021SC@SDUSC OCR全称为Optical Character Recognition,即光学字符识别技术。PP-OCR是在飞浆Paddle平台上发布的一种
2021-10-10 22:39:28
3955
原创 JAVA中String转化为BigDecimal
//String先转化为double,double再转化为BigDecimaldouble val=Double.parseDouble(request.getParameter(“price”));price = BigDecimal.valueOf(val);
2021-08-14 09:54:09
2305
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人