自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(236)
  • 收藏
  • 关注

原创 paddle ocr模型量化实践

标准的蒸馏方法是通过一个大模型作为 Teacher 模型来指导 Student 模型提升效果,而后来又发展出 DML 互 学习蒸馏方法,即通过两个结构相同的模型互相学习,相比于前者,DML 脱离了对大的 Teacher 模型的依赖, 蒸馏训练的流程更加简单,模型产出效率也要更高一些。复杂的模型有利于提高模型的性能,但也导致模型中存在一定冗余,模型裁剪通过移出网络模型中的子模型来减少这种冗余,达到减少模型计算复杂度,提高模型推理性能的目的。4.导出模型、预测部署。1.准备训练好的模型。2.准备训练好的模型。

2024-04-26 17:49:54 902 1

原创 Paddle OCR v4 微调训练文字识别SVTRNet模型实践

paddle ocr v4 微调训练文字识别模型实践

2024-04-25 18:25:06 1553

原创 OCR常用识别算法综述

OCR常用识别算法综述

2024-04-04 16:05:23 343

原创 mmocr安装和使用

MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检测,文本识别以及相应的下游任务,如关键信息提取。它是 OpenMMLab 项目的一部分。

2024-03-26 21:05:57 390

原创 window paddle dection安装记录(cuda 12.2,python3.10)

conda创建环境测试快速体验目标检测效果在GPU上预测一张图片更改visualizer.py的代码。

2024-03-23 09:24:52 371

原创 深度学习 tablenet表格识别实践记录

它是一个端到端模型,将文档分辨率为 1024x1024 的图像作为输入,并生成两个语义标记的输出,一个用于图像中的表,另一个用于表中的列,分别称为表和列掩码。生成这些掩码后,使用表掩码从图像中过滤表格。值得一提的是,ResNet-18 和 EfficientNet 的性能几乎接近 DenseNet,但选择了基于测试数据的最佳 F1 分数的模型。类似于编码器-解码器模型,编码器对图像中表的位置和结构信息进行编码,解码器使用这些信息为表和列生成掩码。检测到的表的行和列中检测和提取信息,称为表结构识别。

2024-03-20 14:09:35 733

原创 pycorrector检测OCR错字实践

stopwords.txt 添加专业停用词,避免错误设置自定义词典,避免将正确的词错误检测成错误的词去掉拼音纠正(OCR不会出现同音错误,更正后检测到的数量少了30%)更改corrector.py内容,路径类似 miniconda/envs/env_name/lib/python3.x/site-packages/pycorrector/corrector.py。

2024-03-20 10:59:51 416

原创 图像转pdf (python)

img2pdf包:https://github.com/josch/img2pdfpip install img2pdfimg2pdf是一个用于将光栅图像无损转换为PDF格式的工具包。使用img2pdf时,优先事项按顺序应为:始终无损:嵌入PDF中的图像将始终具有与输入的每个像素相同的颜色信息;文件较小:如果可能的话,输入图像和输出PDF之间的文件大小差异将仅为PDF容器本身的开销。先创建一个文件夹保存压缩后的图片图片转pdfimport osimport img2pdffrom PIL i

2024-03-19 11:47:24 381

原创 《计算机视觉中的深度学习》之目标检测算法原理

减少目标定位的准确度减少背景干扰提高目标定位的准确度目标检测系统常用评价指标:检测速度和精度提高精度:有效排除背景,光照和噪声的影响提高检测速度:精简检测流程,简化图像处理算法算法概述:传统目标算法、基于候选区域的两步算法、基于回归的单步算法1.传统目标算法对于区域选择,传统目标检测最常用的两种模型是滑动窗口模型与缩放窗口模型。滑动窗口模型,顾名思义,是通过设计好的窗口在图像上进行滑动来检测目标。基于滑动窗的检测算法的主要实现方法有两种,分别为缩放检测图像法和缩放窗口法。

2024-03-16 09:38:11 992

原创 语义分割semantic segmention 与 FCN

我们通过继承高级API提供的Dataset类,自定义了一个语义分割数据集类VOCSegDataset。通过实现__getitem__函数,我们可以任意访问数据集中索引为idx的输入图像及其每个像素的类别索引。由于数据集中有些图像的尺寸可能小于随机裁剪所指定的输出尺寸,这些样本可以通过自定义的filter函数移除掉。此外,我们还定义了normalize_image函数,从而对输入图像的RGB三个通道的值分别做标准化。normalize均值为0方差为1#@save。

2024-03-15 19:23:18 789

原创 camelot pdf提取表格实践(记录)

camelot方法有两种解析模式:流解析(stream)、格子解析(lattice),其中格子解析能够保留表格完整的样式,对于复杂表格来说要优于流解析模式。同时,camelot方法默认格子解析(lattice),而采用这种解析方式,需要安装ghostscript。ModuleNotFoundError: No module named ‘Workbook’ xlwt,是版本太低,升级版本即可。效果会更好,但是也有少部分数据可能错行。识别效果:不太理想,文本排序有问题。下载ghostscript。

2024-03-15 19:14:21 488

原创 DB算法原理与构建

DB的Backbone用于提取图像的多尺度特征,如下代码所示,假设输入的形状为[640, 640],backbone网络的输出有四个特征,其形状分别是 [1, 16, 160, 160],[1, 24, 80, 80], [1, 56, 40, 40],[1, 480, 20, 20]。输入的图像经过网络Backbone和FPN提取特征,提取后的特征级联在一起,得到原图四分之一大小的特征,然后利用卷积层分别得到文本区域预测概率图和阈值图,进而通过DB的后处理得到文本包围曲线。,更好的分离文本背景与前景。

2024-03-14 17:39:46 1285

原创 windows 安装cuda 11.2过程记录

3.安装 cudnn 需要将以上三个文件复制到CUDA的安装目录(cuda安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2)中。在显卡驱动被正确安装的前提下,在命令行里输入nvidia-smi.exe。运行cmd,输入nvcc --version 即可查看版本号;此处需要下载的是 cuDNN v8.9.7。需要注册nvidia账号,才能下载。nvcc -V 验证是否安装成功。

2024-03-14 15:53:29 540

原创 目标检测C-RNN,Fast C-RNN,Faster C-RNN,SSD,Mask R-CNN 理论简单介绍

参考:https://zh-v2.d2l.ai/chapter_computer-vision/multiscale-object-detection.htmlR-CNN 及系列区域卷积神经网络 region-based CNNR-CNNR-CNN首先从输入图像中选取若干(例如2000个)提议区域,并标注它们的类别和边界框(如偏移量)。用卷积神经网络对每个提议区域进行前向传播以抽取其特征。 接下来,我们用每个提议区域的特征来预测类别和边界框。R-CNN步骤:对每张图选择多个区域,然后每个区

2024-03-13 21:13:20 951

原创 pdf转图片(利用pdf2image包)

pdf转图片(利用pdf2image包)

2024-03-12 17:51:56 309

原创 fitz 提取pdf表格

fitz实现 pdf剪裁

2024-03-07 17:13:41 122

原创 python异步编程、多线程、多进程原理

【代码】多进程/进程 python。

2024-03-05 17:14:48 990

原创 opencv官网 Blob检测

将blobColor设为0以选择较暗的Blob,设为255则选择较亮的Blob。基于大小:你可以通过设定参数filterByArea为1,并设置合适的minArea和maxArea值,从而根据Blob的大小进行过滤。用于检测图像中的斑点或目标区域的方法,它可以识别具有特定属性(如颜色、大小、形状等)的连通区域。Blob 是图像中一组连接的像素,它们共享一些共同属性(例如,灰度值)。在上图中,深色连接区域是 Blob,Blob 检测旨在识别和标记这些区域。圆度: 这个参数衡量的是Blob接近圆形的程度。

2024-03-05 16:44:13 620

原创 找出异常点 python

zscore原理:Z-score 基于正态分布理论,它量化了数据点距离数据集平均值的相对标准偏差。通常,如果 Z-score 的绝对值超过某个阈值(如3或更大),该数据点就被认为是异常值。这是因为正态分布下,大约99.7%的数据点应当落在平均值 ± 3标准差的范围内。分位数IQRIQR 方法不依赖于数据的正态分布特性,而是基于数据的四分位数进行异常值检测。它关注的是数据内在的局部变异度,尤其适合处理非正态分布的数据。

2024-02-28 16:22:38 1066

原创 opencv内存溢出del释放变量 (python)

虽然每次循环变量都会被覆盖,但操作系统可能并未立即回收这部分内存,尤其是在大量分配和释放内存的过程中容易产生内存碎片,使得可用内存总量看似充足,但却难以分配连续的大块内存。OpenCV在处理图像时,可能在内部对原始图像数据进行了缓存,尤其是当图像较大时,即使img被重新赋值,之前图像的部分数据仍可能暂存在内存中,直到垃圾回收器有机会回收。加入检查函数后,发现每次循环后内存容量都增大。

2024-02-28 09:47:45 530

原创 数据结构复习一 来自小灰漫画算法

算法:一系列程序指定,用于解决特定的运算和逻辑问题算法的应用:运算(如大数运算避免变量溢出) ,搜索,排序,最优决策等数据结构:数据组织、管理和存储的格式,目的是为了高效访问和修改数据数据结构组成:线性结构(数组,链表,栈、队列)树图其他:跳表、位图、哈西链表算法与数据结构relationship:不同算法选用不同数据结构,如堆排序使用二叉堆。

2024-02-27 22:17:32 330

原创 hanlp,pkuseg,jieba,cutword分词实践

总结:只有jieba,cutword成功将色盲色弱成功分对,这两个库字典应该是最全的。

2024-01-18 11:20:28 704

原创 pkuseg按照用户自定义词典分词错误修正

pkuseg按照用户自定义词典分词错误修正

2024-01-11 10:38:16 403

原创 rotate-captcha-crack项目重新训练百度旋转验证码角度预测模型

纠正。

2024-01-05 09:30:24 1085 4

原创 cnstd使用效果测试

经过测试, 长文本检测效果不错,短文本可能角度不对。

2024-01-04 16:29:34 476

原创 paddlehub 文本检测适用

PaddleHub负责模型的管理、获取和预训练模型的使用。

2024-01-04 11:46:31 857

原创 paddle v4 hubserving 部署

(异步与非异步结果差不多)

2024-01-03 18:06:03 800

原创 python GUI tkinter实战

筛选出列长度不为指定长度的列。

2023-11-03 16:28:50 178

原创 pdf转图片python

使用pdf2image, fitz库实现pdf转图片。

2023-11-01 09:21:21 619

原创 opencv官网教程: 轮廓检测详解

阈值化把图像中目标的边界转化为白色,所有边界像素有同样灰度值(“same intensity”),算法就可以从这些边界白色像素,检测到目标物体的边界(黑色像素作为背景会被忽略)顶层轮廓表示对象的外部边界,而内部轮廓表示对象内部的孔洞边界。RETR_TREE:提取所有轮廓并重建轮廓的整个层级结构,每个轮廓包含子类信息。轮廓:链接物体边界的所有点,通常,轮廓指的是有相同颜色和密度的边界像素。RETR_LIST :提取所有的轮廓,但不建立轮廓的整体层级关系。轮廓算法的准确率和质量高度取决于二进制图像的质量。

2023-10-29 11:19:41 502

原创 c++数据类型

科学计数法是一种很长数字的有限简写,了解科学计数法帮助你了解浮点数工作原理,以及科学计数法的界限。科学记数法中的数字采用以下形式:有效数 x 10exponent。例如,在科学记数法中1.2 x 10⁴1.2是有效数,4是指数。由于 10⁴ 的计算结果为 10,000,因此 1.2 x 10⁴ 的计算结果为 12,000。科学记数法还有一个额外的好处,即只需比较指数,就可以更轻松地比较两个非常大或非常小的数字的大小。

2023-09-16 13:50:00 338

原创 范围、持续时间和链接

定义自己的命名空间C++允许我们通过namespace关键字定义自己的命名空间。在自己的程序中创建的命名空间通常称为用户定义的命名空间(尽管将它们称为程序定义的命名空间会更准确)。对于高级阅读者:通常以大写字母开头命名程序定义的类型。对程序定义的命名空间使用相同的约定是一致的(尤其是在使用限定名称(如Foo::x)时,其中Foo可以是命名空间或类类型)。它有助于防止与其他系统提供或库提供的小写名称发生命名冲突。使用范围解析运算符 (:😃 访问命名空间。

2023-09-16 10:41:08 84

原创 c++函数

c++函数

2023-09-06 11:51:31 170

原创 c++入门一

机器语言。CPU可以直接读写,0,1组成,每一个0/1是比特,组成命令的比特数量可能不同,一些CPU指令长度是32位,x86可变由于不同CPU有不同指令集,因此为一种类型的CPU程序不能移植到另一种类型的CPU汇编语言:每一条指令有缩写表示,可以用名称和其他数字。比机器语言容易读写,但是理解较难,需要重写才能运行在不同指令集的硬件高级语言:为了解决可读性和移植性问题,开发了新的编程语言。编译(C,C++,Pascal):读取源代码,生成可执行程序解释:更灵活,效率更低。

2023-09-02 10:37:31 907

原创 opencv顺时针旋转图片 cv2.getRotationMatrix2D

旋转图片两种方法

2023-08-29 14:37:43 1306

原创 fastdeploy部署多线/进程paddle ocr(python flask框架 )

安装cpu:命令:多线程多进程。

2023-08-23 11:04:14 1995

原创 paddle ocr框架识别数字问题和解决方案

被识别成:“12” “2方案”,这种可以通过x坐标交叉并且第一个结果最后一个字符与第二个结果第一个字符相同判断。通过轮廓裁剪出数字区域,det设置为False可以提高识别率。resize图片的高宽比为1:10可以提高检测和识别率。情况1:检测错误,同一个字符串被两次检测到。无直接解决办法,更换精度更高数字模型解决。同上,但是仍然可能漏掉一些文字没识别出来。情况2: 识别错误,11被识别成111。适当padding,图片上下增加像素。比如 “12 方案 ”

2023-08-16 17:10:47 1383

原创 fitz 将pdf裁剪成左中右三部分,并提取内容保存为excel

fitz 将pdf裁剪成左中右三部分,并提取内容保存为excel

2023-06-29 09:19:49 1291

原创 cnocr安装和识别文字

cnocr安装和识别文字

2023-06-29 09:16:08 2972 6

原创 pyautogui自动化操作

pyautogui自动化操作

2023-06-26 18:13:03 22

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除