自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BADBADBADBOY的博客

一名ai菜鸡的成长之路

  • 博客(22)
  • 收藏
  • 关注

原创 基于pytorch的OCR识别库

基于pytorch的OCR识别库对一年来学习的算法做了一个整理,同时也方便使用(项目持续更新中)识别库的地址: github地址这里支持的算法包括:DBnet 论文链接PSEnet 论文链接PANnet 论文链接SASTnet 论文链接CRNN 论文链接这里做了什么:对上面算法进行了实现和实验提供各个算法的训练和测试接口提供各个算法的预训练模型支持pytorch转成onnx,及onnx调用接下来会做什么:提供onnx转tensorrt的python接口,及调用训练通用o

2020-09-24 16:37:03 5907 2

原创 文本检测模型之CTPN

###文本检测模型之CTPN####思路将文本定位框拆分成一个个等宽(论文中为16)的小文本框,然后只需在y方向上做回归。这里仍然使用了rpn(可看faster rcnn),唯一不同的是这里得到的候选区域(region proposal )是一个等宽不等高的。这种小文本框也规避了网络感受野不足的问题。使用了cnn+rnn的组合,这里加入rnn使得宽度方向上或者说水平方向上形成一种联系(长短...

2020-01-08 20:43:36 4794 20

原创 各类卡证矫正

模型和思路来源:读光-票证检测矫正模型,试了下效果不错,但是因为没开源训练模块,索性自己撸了下,数据加载dataload模块其实还是有优化空间的,比如我没对训练图片做光照,加噪等数据扩增操作。

2024-08-21 18:12:45 678

原创 crnn 不同backbone探索(准确率和测试时间)

crnn

2022-05-15 09:35:54 1001 5

原创 pytorchOCR之DBnet(多类别文本检测1)

pytorchOCR之DBnet(多类别文本检测)代码完整代码动机主要是为了对不同文本类型,既要检测文本位置,又要分类文本类型,比如中英文检测分类,手写印刷检测分类。实现方式1 . 模型结构这里对DBnet结构多增加了一个分类的支路,如下:self.classhead = nn.Sequential( nn.Conv2d(inner_channels, inner_channels // 4, 3, padding=1, bias=bias),

2021-05-27 14:58:59 4619 22

原创 检测回顾一之yolov2

yolov2论文解读

2021-04-26 08:36:06 163

原创 检测回顾一之yolov1

yolo v1论文解读所有都摘抄自论文优势:First, YOLO is extremely fastYOLO sees the entire image during training and test time so it implicitly encodes contex-tual information about classes as well as their appearance,YOLO makes less than half the numberof background

2021-04-18 17:57:48 161

原创 pytorchOCR之CRNN+centerloss

pytorchOCR之CRNN+centerloss这是阿里团队提出来用来解决softmax对于形近字表征不足的问题,之前一直想写来着,写了一半被拉去做项目了,偶然逛GitHub,看见一位大佬也做了这个工作,原代码在此,本着我辈不嫖白不嫖的思想,花了一个周末嫖过来了。思路...

2021-03-13 12:33:42 2429 28

原创 pytorchOCR之CRNN

pytorchOCR之CRNN这里就不做crnn的原理解释了,网上一大堆。这里按照代码的思路梳理一遍crnn的流程。crnn 流程首先,网络的输入是batchsize∗channel∗h∗wbatchsize*channel*h*wbatchsize∗channel∗h∗w,这里我们举个例子,假设输入为64∗3∗32∗28064*3*32*28064∗3∗32∗280,先经过backbone,一般backbone设计是在高度方向向下pooling 32倍,也就是5个stride 为2 ,将图片高度变成

2021-02-28 11:47:36 1311

原创 pytorchOCR之SAST

pytorchOCR之SAST论文官方代码主要思路本文主要思路,预测四个map,tcl,tvo,tco,tbo。其中tcl为分割图,与psenet和dbnet的kernel一样,为了分开密集临近的文本,如下图所示:图a中红色部分即为tcl,计算方式是通过文本向内收缩形成的分割图,图b为tbo的计算方式,代表了tcl像素到边界的偏移量,上边界x,y和下边界x,y共四维。图c为tvo的计算方式,代表了tcl中的像素到文本标注框的四个角点的偏移量x,y,所以共8维,图d为tco的计算方式,代表了tc

2021-02-09 16:49:31 678

原创 pytorchOCR之PAN

pytorchOCR之PAN论文官方代码主要思想这篇文章主要是基于一个聚类的思想,将每一个单独的文本看做是一类。文章借鉴了centernet中的思想,为每个像素点预测一个四维的向量。文本kernel中像素点的四维向量的均值,作为一个聚类中心,于是属于该类中心的像素的四维向量与聚类中心四维向量的距离应该尽可能小,并且每个聚类中心四维向量距离应该尽可能大。...

2021-02-07 10:16:38 722 1

原创 pytorchOCR之DBnet

pytorchOCR之DBnet论文官方代码

2021-01-29 12:19:45 1997 3

原创 pytorchOCR之PSEnet

pytorchOCR之PSEnet论文链接官方代码论文解读这里就不做了,网上很多。这里只对项目代码解读。标签制作模型解读该检测方法是基于分割,论文使用FPN作为分割网络,其中backbone为resnet50,参看ptocr/model/backbone/det_resnet.py...

2021-01-07 19:53:11 657 1

原创 pytorchOCR之目录层级结构说明

pytorchOCR之目录层级结构说明目录层级结构如下│ finetune_prune_model.sh│ infer.sh│ make.sh│ README.md│ requirement.txt│ to_onnx.sh│ to_tensorrt.sh│ ├─checkpoint│ 新建文本文档.txt│ ├─config│ det_DB_mobilev3.yaml│ det_DB_mobilev3_common.yam

2021-01-07 19:50:40 857 2

原创 pytorchOCR之数据篇

pytorchOCR之数据篇文本检测目前训练数据是基于icdar2015数据集来做算法效果对比的。-训练数据说明:标注图片:标注文件:如上图所示,标注文件中存放着标注框的坐标,一共7行即为7个框,对应图片中红色的框的四个角点的坐标如绿色圆圈所示,角点的记录顺序为1,2,3,4即为左上,右上,右下,左下的四个点的(x,y),一共8个坐标,,最后一个是标注框的label,其中###代表着文本模糊或者说可忽略文本,这种文本将不参与文本训练。训练时需要的数据文件说明在训练时需要在conf

2020-12-29 19:02:01 1483

原创 pytorchOCR之参数篇

pytorchOCR之参数文本检测篇以det_DB_mobilev3.yaml为例,其余类似:base部分参数解释gpu_id:设置gpu,可设置单个或多个例如 ‘0’ 或者‘0,1,2,3’algorithm指定算法名称,例如DB,PSEpretrained是否加载预训练模型,True or Falsein_channels指定每个尺度的inchannel 例如这里mobilev3是[24, 40, 48, 96]inner_channels

2020-12-26 23:03:42 1835

原创 NAS搜索之DARTS-

NAS搜索之DARTS-动机指出现有算法通过设定阈值使得达到条件,搜索停止,这种方式不大行,指出阈值设置不当,往往得不到好的架构,而且架构本身搜索也存在噪声,通过设置阈值比较困难(感觉在针对darts+)解决方式本文提出了更加直接巧妙的方法,通过设置辅助跳过连接,来确保每个操作公平竞争。原理如图所示,darts-中添加了一个辅助skip,其中可学习参数x1至x5x_1至x_5x1​至x5​,????为不可学习,且随epoch不断衰减。有两层作用,第一防止梯度消失,类似resnet的skip的作

2020-12-25 13:01:06 409 1

原创 NAS搜索之DARTS+

NAS搜索之DARTS+论文地址[代码地址暂无]出发点随着迭代次数增加,darts性能可能奔溃(本文猜测是由于过拟合造成)最终生成的结构存在过多的skip connect(导致过拟合的产生)本文解决方式设计了一种满足一定条件时,训练提前终止的方案,本文称为early stop。本文创新点提出了两个停止条件,使得darts训练可以提前终止,提高了准确性通过简化成二元分类,证明了为何网络会倾向选择skip connect。证明在论文附录中有,有兴趣可以自己阅读。主要原理和过程

2020-12-23 13:27:04 322

原创 NAS搜索之PC-DARTS

NAS搜索之PDARTS论文链接代码链接目的减小DARTS内存和计算开销大的问题创新点通过对网络部分采样减少空间搜索冗余,但是会导致网络边缘选取不一致。利用新加一组边缘预测参数,来进行边缘归一化优势降低了内存,从而可以使用更大batch训练,提升了速度和稳定性主要方法如上图所示:图中第一部分与darts相同依旧是四个节点,每两个节点之间都有n(自己设定)个op操作相连。图中第二部分为本文创新点之一,选取1/k的channel连接搜索块,通过这样可以将搜索参数缩减K倍,剩余1

2020-12-21 13:31:32 878

原创 NAS搜索之PDARTS

NAS搜索之PDARTS代码和论文论文地址代码地址文章思想认为浅层网络搜索和深层网络搜索是有差别的,用浅层网络搜到的结构用于深层网络不一定是最好的。方法提出如图所示:论文提供了一种在训练过程中增加由体系结构的方法,通过这样来拟合深度差距。DARTS中是由8cell搜出cell结构,将搜出的结构组合成20个,得到最终结果。PDARTS是在训练过程中,由初始的5cell训练一段时间增加到11cell然后到17cell,最后由17cell搜索得到的cell结构用于组成20cell,得到最

2020-12-17 13:04:37 527

原创 NAS搜索之DARTS

NAS架构搜索之DARTS设计思路图中每条不同颜色的线表示一种op操作(conv,poooling,skip connect等),这里有三条代表每两个节点间有三种op操作。图a,代表四个节点和虚线边代表op操作,每个节点间应该选取何种op操作图b,表示初始化所有的op操作,以及连接方式图c,通过梯度训练后,有些变淡的边表示该操作贡献小可去除图d,最终通过softmax选取最大概率边形成最终连接。如何设置成可训练将所有op操作用softmax表示,这样就把离散变成连续的其中x代表f

2020-12-12 15:32:51 600

原创 NAS搜索之ENAS

NAS之ENAS论文地址链接代码地址tf链接pytorch链接主要工作Designing Recurrent CellsDesigning Convolutional NetworksDesigning Convolutional Cells操作方式先初始化一个big网络,包括所有连接,通过rnn控制器来预测生成一连串的op连接和op操作,构建子网络训练子网络一段时间据子网络的结果去训练rnn控制器,使得rnn的输出结果能构建更好的子网络不断重复2,3,4De

2020-12-10 18:05:02 328

空空如也

空空如也

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

TA关注的人

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