街景字符编码识别项目学习笔记(五)

计算机视觉实践(街景字符编码识别)Vol1 Task01:赛题理解前言赛题背景解决思路潜在困难Baseline理解 前言 接触深度学习有一定时间了,但是一直以来还是处于学习吸收阶段,学习的知识也比较零散,没有集中做过大型项目,也没有参加过相关比赛,比较缺乏相关的应用经验。因此这是我第一次参加CV赛事,希望自己能够坚持每天学习,坚持每次打卡,积少成多,熟能生巧。 赛题背景 本次赛事的研究对象是街景字符,取自经典数据集SVHN,主要的任务就是识别街道字符图像,相比于最开始学习过的MNIST数据集上的图像识别,我认为这个数据集提供的样本具有以下特点: 字 阅读详情

学习目标:学习集成学习方法以及交叉验证情况下的模型集成、学会使用深度学习模型的集成学习、以及对5月31号安神的直播做了一些总结

一、模型集成

1 机器学习中的集成学习方法

在机器学习中的集成学习可以在一定程度上提高预测精度,常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体验证集划分联系紧密。

由于深度学习模型一般需要较长的训练周期,如果硬件设备不允许建议选取留出法,如果需要追求精度可以使用交叉验证的方法。

下面假设构建了10折交叉验证,训练得到10个CNN模型。

在这里插入图片描述
那么在10个CNN模型可以使用如下方式进行集成:

  • 对预测的结果的概率值进行平均,然后解码为具体字符;
  • 对预测的字符进行投票,得到最终字符。

2 深度学习中的集成学习

此外在深度学习中本身还有一些集成学习思路的做法,值得借鉴学习:

2.1 Dropout

Dropout可以作为训练深度神经网络的一种技巧。在每个训练批次中,通过随机让一部分的节点停止工作。同时在预测的过程中让所有的节点都其作用。

Dropout经常出现在在现有的CNN网络中,可以有效的缓解模型过拟合的情况,也可以在预测时增加模型的精度。

在这里插入图片描述
加入Dropout后的网络结构如下:

# 定义模型
class SVHN_Model1(nn.Module):
    def __init__(self):
        super(SVHN_Model1, self).__init__()
        # CNN提取特征模块
        self.cnn = nn.Sequential(
            nn.Conv2d(3, 16, kernel_size=(3, 3), stride=(2, 2)),
            nn.ReLU(),
            nn.Dropout(0.25),
            nn.MaxPool2d(2),
            nn.Conv2d(16, 32, kernel_size=(3, 3), stride=(2, 2)),
            nn.ReLU(), 
            nn.Dropout(0.25),
            nn.MaxPool2d(2),
        )
        # 
        self.fc1 = nn.Linear(32*3*7, 11)
        self.fc2 = nn.Linear(32*3*7, 11)
        self.fc3 = nn.Linear(32*3*7, 11)
        self.fc4 = nn.Linear(32*3*7, 11)
        self.fc5 = nn.Linear(32*3*7, 11)
        self.fc6 = nn.Linear(32*3*7, 11)
    
    def forward(self, img):        
        feat = self.cnn(img)
        feat = feat.view(feat.shape[0], -1)
        c1 = self.fc1(feat)
        c2 = self.fc2(feat)
        c3 = self.fc3(feat)
        c4 = self.fc4(feat)
        c5 = self.fc5(feat)
        c6 = self.fc6(feat)
        return c1, c2, c3, c4, c5, c6
2.2 TTA

测试集数据扩增(Test Time Augmentation,简称TTA)也是常用的集成学习技巧,数据扩增不仅可以在训练时候用,而且可以同样在预测时候进行数据扩增,对同一个样本预测三次,然后对三次结果进行平均。

在这里插入图片描述

def predict(test_loader, model, tta=10):
   model.eval()
   test_pred_tta = None
   # TTA 次数
   for _ in range(tta):
       test_pred = []
   
       with torch.no_grad():
           for i, (input, target) in enumerate(test_loader):
               c0, c1, c2, c3, c4, c5 = model(data[0])
               output = np.concatenate([c0.data.numpy(), c1.data.numpy(),
                  c2.data.numpy(), c3.data.numpy(),
                  c4.data.numpy(), c5.data.numpy()], axis=1)
               test_pred.append(output)
       
       test_pred = np.vstack(test_pred)
       if test_pred_tta is None:
           test_pred_tta = test_pred
       else:
           test_pred_tta += test_pred
   
   return test_pred_tta
2.3 Snapshot

本章的开头已经提到,假设我们训练了10个CNN则可以将多个模型的预测结果进行平均。但是加入只训练了一个CNN模型,如何做模型集成呢?

在论文Snapshot Ensembles中,作者提出使用cyclical learning rate进行训练模型,并保存精度比较好的一些checkopint,最后将多个checkpoint进行模型集成。

在这里插入图片描述

由于在cyclical learning rate中学习率的变化有周期性变大和减少的行为,因此CNN模型很有可能在跳出局部最优进入另一个局部最优。在Snapshot论文中作者通过使用表明,此种方法可以在一定程度上提高模型精度,但需要更长的训练时间。

在这里插入图片描述

3 结果后处理

在不同的任务中可能会有不同的解决方案,不同思路的模型不仅可以互相借鉴,同时也可以修正最终的预测结果。

在本次赛题中,可以从以下几个思路对预测结果进行后处理:

  • 统计图片中每个位置字符出现的频率,使用规则修正结果;
  • 单独训练一个字符长度预测模型,用来预测图片中字符个数,并修正结果。

4 总结

在本次Task中主要了解了深度学习模型做集成学习的各种方法,并给出了部分代码。以下几点需要注意:

  • 集成学习只能在一定程度上提高精度,并需要耗费较大的训练时间,因此建议先使用提高单个模型的精度,再考虑集成学习过程;
  • 具体的集成学习方法需要与验证集划分方法结合,Dropout和TTA在所有场景有可以起作用。

二、5月31日安神直播笔记

安神的这次直播主要分为以下四个环节:

  1. 模型训练与验证
  2. 调参流程
  3. 模型集成
  4. Q&A环节

其中模型训练与验证和调参流程在上一个学习笔记中已经提到了,模型集成在这个学习笔记中被提到。然后调参流程环节的部分思想来自于:http://karpathy.github.io/2019/04/25/recipe/,强烈推荐大家去看看这篇博客。

1 模型训练与验证

1.1 为什么要设置验证集

用于调整模型超参数,有效判断模型状态,防止过拟合

CNN模型的拟合能力很强,甚至会强行记住训练样本的一些无关紧要的细节来达到loss的不断下降,因此一味追求训练集loss的下降,可能导致模型在测试集的泛化效果较差

两种常见的验证集划分方法:留出法、K折交叉验证法

关于验证集更详细的内容可以回顾一下上一个学习笔记:https://blog.youkuaiyun.com/whatiscode/article/details/106449565

2 调参流程

在这里插入图片描述

以上这幅图非常重要。分别给出了以下四种情况下我们应该怎么样去改进模型,而不是瞎忙活:

(1)在训练集上的误差比较高(欠拟合)

  • 更大的模型(增加模型的复杂度)
  • 训练更久(增加epoch的次数)
  • 尝试新的网络结构

(2)在训练集上已经训练得很好了,但是在验证集上效果不好(过拟合)

  • 正则化(给loss加上惩罚、dropout、batch-normalization)
  • 更多的数据(数据增强)
  • 尝试新的网络结构

(3)在验证集上效果较好,但是在测试集上效果不好(实际中很难出现)

  • 原因:可能验证集与测试集的分布出现了差异(测试集应该能反映想要应用场景的效果)
  • 获取更多与测试集相似的数据
  • 分析数据的分布
  • 尝试新的网络结构

(4)测试集上效果不好

  • 获取更多的验证集数据
2.1 观察数据

在你开始训练,甚至是编写任何代码之前,你需要大量的观察数据

观察什么?

  • 了解问题的背景,数据的样式,标注信息的格式等等。
  • 观察数据的分布,类别是否存在偏差?
  • 是否有脏数据?是否有大量重复数据?

这个过程实际上会让我们对问题有很好的理解,并且设计出合理的训练框架来求解(该课题中的baseline已经帮我们跳过了这一步骤)

对于街景字符识别项目需要思考的问题:

  • 不同字符数量图片的占比,是否存在偏差?

  • 是否有脏数据?是否有大量重复数据?

  • 局部信息足够吗?是否需要上下文信息?

  • 位置信息重要吗?

  • 数据适合什么样的数据增强?什么样的数据增强不适用?

数据集中的图片字符个数分布:

在这里插入图片描述
通过上图我们可以看出,数据集中包含5个和6个字符的图片非常少,所以我们可以吧定长字符的个数直接设置为4,从而提高模型的效果。这也反映了观察并分析原始数据的重要性。

2.2 搭建初始框架

基于对数据的清晰认识,就可以搭建baseline训练框架了,需要遵循以下原则:

  • 固定随机种子。包括python、numpy、torch、tensorflow的随机种子,这对复现遇到的bug并查找原因非常重要。
  • Don’t be a hero。baseline尽可能简单,无论你是不是新手,你的脑海中都可能已经浮现出了很多关于优化模型的想法了。对于baseline,不要做任何花里胡哨的操作,只使用最有把握的官方实现的网络,只使用最基本的数据增强。
  • 将输入进网络的数据进行可视化。这可以很直观的看出预处理环境是否有bug
  • 设置合理的评价指标,并打印或绘制足够的信息来监控训练状态。
2.3 让baseline走上正轨

有了最基本的baseline训练&验证框架,就可以开始实验了。这里有几个基本参数的设置经验,可以让baseline快速走上正轨:

  • 选择一个合适的初始学习率。一个合适的初始学习率,应该让训练初期的每一个batch的loss非常快速的下降。通常你应该首先尝试,1e-2,1e-3这样的数值。
  • 优化方法的选择:Adam is all you need。Adam具有很强的适应性,能够自适应的调整学习率的大小来完成快速收敛,这是其内在原理决定的。使用Adam优化器通常会让模型收敛更快,并且让初始学习率的可选范围变得更广。尽管对于CNN的训练来说,一个基于SGD的训练在效果上通常可以略微的超过Adam,但是其往往会花费更多的时间,所以绝大多数情况都推荐使用Adam。
  • 学习率阶段性下降策略。训练时,当验证集的损失函数开始不再慢慢变低,而是开始震荡了,那么是时候考虑降低学习率了。
  • 使用预训练模型。
2.4 调参原则(重要)

安神原话:“我知道大家最不缺的就是奇思妙想,各种超参数,各种idea都想要去尝试。即便是刚刚入门的同学,也能把欠拟合-过拟合的概念以及他们可能的解决方案说得头头是道,所以在这里不再赘述。但我所要强调的是,调参的过程中,你要时刻保持思路的清晰,知道自己在做什么,为什么要这么做。

通常我在工作或者比赛中,会问自己这样几个问题:

  • 是否理清了当前问题的主要矛盾?(只针对当前最核心的问题进行解决)
  • 是否每个实验都能带来正向提升?
  • 当前进行的实验是否能带来确定性的结论?(单一变量原则:即一次实验只做一处改变)

“

实战调参介绍:https://github.com/datawhalechina/dive-into-cv-pytorch/tree/master/beginner/chapter02_image_classification_introduction/2.5_SVHN_in_action

3 模型集成:榨出最后一点果汁

当我们已经对单模型进行了充分的调参达到不错的效果之后,我们还可以使用集成学习来尽可能的“压榨”出最后一点成绩的提升。

事实上,是非常不推荐大家通过过多的模型集成来上分的,因为这在实际应用中毫无意义。大多数正式比赛也都会通过对模型集成,以及使用模型的大小,推理速度进行限制。

关于模型集成的内容在笔记前面已经介绍了,所以不再重复。

4 Q&A

由于问题太多且太碎,所以只列出了前两个比较重要的问题:

  1. 如何学习复杂模型,例如字符识别模型CTPN,目标检测模型faster-rcnn?

    CV的入门门槛很低,但是后面要做出很好的东西需要非常全面的能力和编程水平;主要通过看论文,读源码,复现,debug等过程一步步来提高自己,并没有太好的捷径。

  2. 如何复现目标检测模型,例如faster-rcnn?

    先不要尝试自己去复现,先要去找别人比较高新的项目,然后去读他们的代码并且搞懂,搞懂之后呢,可以先尝试写一个最简单的逻辑框架,把复杂的东西全去掉,然后找到一个比较小的训练集,只要模型能够收敛,基本上你就掌握得差不多了。

5 小结

非常感谢安神的分享。通过本次的直播,学习到了很多关于模型训练以及调参的技巧,还有关于模型集成的内容。不过纸上得来终觉浅,绝知此事要躬行,还是要通过多实际来不断加深对这些技巧的理解,并将其真正转化为自己的经验。

正如安神所说,CV入门门槛很低,但想要有所突破还是需要全面提高自己的理论知识和编程能力。任何事情都没有捷径,踏踏实实看论文,读代码才是最好的方法。愿我们都能够在自己选择的道路上不断前行,不断进步。

最后帮安神打个广告,希望安神能够早日推出目标检测的入门教程。

《动手学CV-Pytorch版》开源项目地址:https://github.com/datawhalechina/dive-into-cv-pytorch

用YOLOV4实现街景字符编码识别 这次 阅读详情

相关推荐

街景字符识别1-街景字符编码SVHN

The Street View House Numbers (SVHN) Dataset是街景字符的数据集。街景字符转录是字符序列识别问题。针对图片序列识别问题传统思路是定位、分割、识别,而Google2014年的论文《Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks》提出了基于深度卷积神经网络的方法。 问题描述: 图片中的字符串序列长度不定但不超过5个字符,可以将

charie411的博客 2920

天池新手赛——街景字符编码识别(三)

天池新手赛——街景字符编码识别(三) Task 3 字符识别模型 基于CNN的图像分类网络 基于卷积神经网络的图像分类的发展经历了LeNet、AlexNet、VGG-16、InceptionV3、ResNet AlexNet: 1.网络更深 2.引入Relu激活层 3.在全连接层引入dropout防止过拟合 4.LRN(局部响应归一化) VGG-16 1.使用了更小的滤波器,更深的网络结构 2.小的卷积核与大的卷积核的感受野是相同的,还能减少参数,因而可以有更深的网络 3.使用batch normaliza

weixin_41694363的博客 469

街景字符编码识别项目学习笔记(一)赛题理解

datawhalecv项目系列学习博客(一)赛题理解

weixin_42716570的博客 626

天池-街景字符编码识别4-模型训练与验证

4 模型训练与验证 构造验证集 在机器学习模型(特别是深度学习模型)的训练过程中,模型是非常容易过拟合的。深度学习模型在不断的训练过程中训练误差会逐渐降低,但测试误差的走势则不一定。 在模型的训练过程中,模型只能利用训练数据来进行训练,模型并不能接触到测试集上的样本。因此模型如果将训练集学的过好,模型就会记住训练样本的细节,导致模型在测试集的泛化效果较差,这种现象称为过拟合(Overfitting)。与过拟合相对应的是欠拟合(Underfitting),即模型在训练集上的拟合效果较差。 如图所示:随着模型复

weixin_44023658的博客 307

街景字符编码识别项目学习笔记(三)torchvision中的数据增强方法

内容简介 本文介绍torchvision当中有关数据增强方法的使用以及其在街景字符编码识别项目起到的效果。 基本方法总结如下表 方法 效果 transforms.Resize((m,n)) 将原始图像进行resize transforms.RandomCrop((m,n)) 将原始图像进行随机剪裁 transforms.CenterCrop((m.n)) 取图像中心处进行一定大小的剪裁 transforms.ColorJitter(a,b,c,d) 调整原始图像有关颜色对比度等参

weixin_42716570的博客 653

Buck变换器中EA模块的优化设计与稳定性提升策略

本文深入探讨了Buck变换器中误差放大器(EA)模块的核心作用与优化设计。作为系统的“大脑”,EA模块的性能直接决定了电源的稳定性与动态响应。文章详细分析了EA的电路结构、工作原理,并重点阐述了通过优化增益、带宽和相位裕度来提升系统稳定性的策略,同时提供了实用的设计技巧与仿真验证方法。

weixin_29189381的博客 424

CV-街景字符编码识别 Task3

卷积神经网络(简称CNN)是时下最为流行的一种深度学习网络,由于其具有局部感受野等特性,让其与人眼识别图像具有相似性,因此在计算机视觉等领域都有广泛的应用,CNN是解决图像分类、图像检索、物体检测和语义分割的主流模型。 CNN是一种层次模型,输入的是原始的像素数据。CNN通过卷积(convolution)、池化(pooling)、非线性激活函数(non-linear activation function)和全连接层(fully connected layer)构成。 对一维信号,通常采取的方法有两种:

叶筱的博客 501

无人驾驶汽车系统入门(三十二)——FEC算法:点云快速欧几里得聚类实战解析

本文深入解析了FEC算法在无人驾驶点云聚类中的高效应用,通过逐点处理策略和体素栅格预分割技术,实现了比传统欧几里得聚类快百倍的速度。文章详细介绍了算法原理、Python实现及参数调优指南,并对比了FEC与传统算法的性能差异,为无人驾驶系统开发提供了实用解决方案。

weixin_29065015的博客 486

街景字符识别比赛心得

阿里天池-零基础入门CV赛事(街景字符识别编码)-Task 4 模型训练与验证1 模型训练与验证1.1 构造验证集1.2 模型训练与验证1.3 模型保存与加载1.4 模型调参流程 1 模型训练与验证 1.1 构造验证集 在机器学习模型(特别是深度学习模型)的训练过程中,模型是非常容易过拟合的。深度学习模型在不断的训练过程中训练误差会逐渐降低,但测试误差的走势则不一定。 在模型的训练过程中,模型只能利用训练数据来进行训练,模型并不能接触到测试集上的样本。因此模型如果将训练集学的过好,模型就会记住训练样本的细节

XiangmingFeng的博客 393

别再傻傻分不清了!Anaconda和Miniconda到底选哪个?附保姆级安装与镜像源配置(Windows/Mac)

本文详细解析了Anaconda和Miniconda的核心差异,包括体积、预装内容、系统资源占用等关键维度,并提供了针对不同需求的决策框架。附有Windows和Mac双平台的详细安装与配置指南,帮助用户根据实际需求选择最适合的conda工具,提升开发效率。

weixin_30315723的博客 426

多周期路径约束(set_multicycle_path )

1.由慢到快的多周期约束 如下图所示,发射时钟周期是接受时钟周期的4倍。默认情况下,按照1T原则来进行静态时序分析和布局布线的。即建立时间是在发射沿后的第一个捕获沿检查,而保持时间是同一时刻下源时钟和捕获时钟的触发边沿下检查的(建立时间检查边沿的前一个触发沿)。 但是这样导致的问题就是该路径过于苛刻,为了满足这条路径的要求,不得不放弃其他路径。或者根本没办法保证这个默认的约束。总之最终造成...

Arist. 5506

街景字符编码识别项目学习笔记(五)模型训练与验证

内容简介 学习笔记(四)中,初步介绍了以AlexNet为实例用pytorch实现卷积神经网络的方式,并对赛题所应用的baseline定长字符识别模型进行了建立。本节中,我们主要关注模型建立之后的训练以及验证过程。 模型训练与验证 神经网络的训练过程实际上就是网络对输入数据进行特征提取的过程。通过模型预测输出和给定输出之间误差的损失函数的梯度反作用于网络,以更新网络当中的参数值,从而提高模型对给定任务的解决能力。 可以想象,在实际训练过程当中,模型会倾向于增强对输入数据的特征提取能力,因为同样的数据往往会输入

weixin_42716570的博客 406

Hugging Face快速入门(重点讲解模型(Transformers)和数据集部分(Datasets))

1. Hugging Face是什么,提供了哪些内容 2. Hugging Face模型的使用(Transformer类库) 3. Hugging Face数据集的使用(Datasets类库)

iioSnail的博客 8万+

天池学习赛——街景字符编码识别(得分上0.93)

目录1 比赛介绍2 解题思路3 数据集制作4 模型训练5 更改detect.py文件5 结果检测5 上传文件 1 比赛介绍 项目链接:零基础入门CV - 街景字符编码识别 一、赛题数据 赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN),并根据一定方式采样得到比赛数据集。 数据集报名后可见并可下载,该数据来自真实场景的门牌号。训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置

小屋 9262

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5274

15张图详解三方支付:总架构、5大核心业务处理流程、备付金管理

用户可以将银行卡与零钱账户绑定,建立银行结算账户与支付账户的连接,然后将银行账户资金充值到零钱账户中,或将零钱账号中的余额提现至绑定的银行卡。因此,用户在A支付机构的零钱一般只能支付给A支付机构的商户,如支付宝的零钱不能支付给微信的商户。这五大业务的协同运作,使得第三方支付机构这一庞大的支付服务平台能够为市场提供卓越的支付能力。到了结算时间,网联会向备付金集中存管账户提交结算指令,在第三方支付机构备付金集中存管账户内完成最终的结算,并将结算结果及额度变动情况通知给第三方支付机构,具体流程如图13所示。

银行信息系统应用架构详解 1044

街景字符编码识别项目学习笔记(一)

学习目标:理解赛题背景和赛题数据,完成赛题报名和数据下载,理解赛题的解题思路 首先贴出Datawhale开源项目链接和天池赛事报名链接: Datawhale开源项目:[https://github.com/datawhalechina/team-learning/tree/master/03%20%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89%E5%AE%9E%E8%B.

奉现的博客 1756

核心组件大换血:Backbone与Neck魔改篇:YOLO26替换EfficientNetV2主干:神经架构搜索(NAS)的最优解嫁接

YOLO26引入EfficientNetV2作为Backbone的改进方案探索了计算机视觉模型优化的前沿方向。文章首先分析了YOLO26默认C3k2模块的局限性,指出其在通道利用效率和缩放策略上的不足。随后重点介绍了EfficientNetV2的核心优势,包括Fused-MBConv模块、训练感知的NAS搜索空间和渐进式学习策略,这些特性使其在精度和效率上保持领先。最后提出了将EfficientNetV2嫁接至YOLO26的具体方案,强调通道对齐这一关键挑战,并给出两种解决方案。这一改进思路展现了&quot

ZDQ58818的博客 309

阿里天池比赛——街景字符编码识别

文章目录前言一、街景字符编码识别1. 目标2. 数据集3. 指标总结 前言 之前参加阿里天池比赛,好久了,一直没有时间整理,现在临近毕业,趁论文外审期间,赶紧把东西整理了,5月底学校就要让我们滚蛋了,哭哭哭!!!大运会的牺牲品!!! 一、街景字符编码识别 先说一下比赛的基本情况吧,没有认真比赛,所以,你懂的,下面提供一下比赛连接和我的代码连接,感兴趣的小伙伴可以下载玩一玩哈。 比赛连接:https://tianchi.aliyun.com/competition/entrance/531795/intr

CharmsLUO的博客 3030

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

基于PaddleOCR2.4的天池街景字符编码识别Baseline

基于PaddleOCR2.4,使用CRNN算法,骨干MobileNetV3,加载预训练模型,对现实街景字符编码进行识别

m0_63642362的博客 910

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

天池CV赛事-街景字符编码识别(五)—— 模型集成

系列文章 天池CV赛事-街景字符编码识别(一) —— 赛题理解 天池CV赛事-街景字符编码识别(二) —— 数据读取与数据扩增 天池CV赛事-街景字符编码识别(三)—— 字符识别模型 目录五、模型集成5.1 集成学习方法5.2 深度学习中的集成学习5.2.1 Dropout5.2.2 TTA5.2.3 Snapshot 五、模型集成 5.1 集成学习方法 在机器学习中的集成学习可以在一定程度上提高预测精度,常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体.

清崎教练 305

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

天池学习赛:零基础入门CV - 街景字符编码识别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、安装YOLOv51.拉取yolov5的代码2.下载模型3.配置环境4.测试二、动手实践街景字符编码识别1.查看数据2.读入数据总结 前言 阿里天池学习赛:街景字符编码识别 跟着官方的baseline走了一遍,准确率大概在0.48左右 现在想法是使用yolov5来提高精度.之前没咋接触过完整的完成一个项目,所以想记录下 一、安装YOLOv5 1.拉取yolov5的代码 git clone https://github.c.

weixin_42920869的博客 3105

零基础入门CV赛事- 街景字符编码识别-DataWhale

街景字符编码识别任务与目标安装PYTorch 任务与目标 赛题任务:赛题以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符识别问题。 为了简化赛题难度,赛题数据采用公开数据集SVHN,因此大家可以选择很多相应的paper作为思路参考。 理解赛题背景和赛题数据 安装PYTorch 我的电脑没有GPU所以安装CPU版本。在官网中配置自己需要的软件版本和机器型号。 在anaconda中新建环境选择‘Python3.7’版本,打开新建环境终端,键入第一步PYTorch官网生成的命令"c

qq_33346150的博客 1243

天池&Datawhale- 街景字符编码识别

天池&Datawhale- 街景字符编码识别 Task1 赛题理解 赛题背景 需要选手预测真实场景下的字符识别,这是一个典型的字符识别问题**(分类问题)** 数据集说明 数据集来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN),并根据一定方式采样得到比赛数据集。 训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括彩色图像、对应的编码类别和具体位置。 数据包组成 训练集图片文件夹(3W张,png格式),验

weixin_43905138的博客 422

天池零基础入门CV赛事- 街景字符编码识别

目录天池:零基础入门CV赛事- 街景字符编码识别赛题理解赛题数据字段表评测标准解题思路 天池:零基础入门CV赛事- 街景字符编码识别 赛题理解 赛题名称:零基础入门CV之街道字符识别 赛题目标:通过这道赛题可以引导大家走入计算机视觉的世界,主要针对竞赛选手上手视觉赛题,提高对数据建模能力。 赛题任务:赛题以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符识别问题。 赛题数据 赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers

christianzhang93的博客 656

天池CV赛事-街景字符编码识别(一)——赛题理解

系列文章 天池CV赛事-街景字符编码识别(一)——赛题理解 目录一、赛题理解1.1 学习目标1.2 赛题数据1.3 字段表1.4 评价标准1.5 读取数据1.6 思路分析 一、赛题理解 1.1 学习目标 通过之前的python+opencv的第一阶段学习,此前系列的链接https://blog.youkuaiyun.com/bosszhao20190517/article/details/105645619,掌握了图像处理的基础方法和原理,此次跟随Datawhale参加天池大赛——零基础入门CV赛事-街景字符编码识.

清崎教练 542
上一篇: 《深度学习框架:PyTorch入门与实践》学习笔记(二)
下一篇: 《Python编程:从入门到实践》学习笔记(一)
威士忌燕麦拿铁
博客等级 码龄10年 5443粉丝 86原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值