自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机视觉中的 CNN&Transformer&MLP Backbone网络模型设计前沿研究总结 (持续更新)

简介随着Vision Transformer的发展,利用CNN与Transformer相结合、基于纯Transformer设计的网络架构层出不穷。与此同时,相当一部分研究聚焦于探讨Transformer的必要性,并由此出现了多层感知机(Multi layer perceptron, MLP)、傅里叶变换(Fourier transform)等替代Transformer组件构建backbone的研究。本文力图将现有前沿同Transformer相关或力图替代Transformer结构的相关研究汇总到一起,将

2021-05-17 22:26:06 2999 2

原创 Pytorch tensor处理函数/技巧汇总 Cook Blog(持续更新)

二维tensor一次多行/多列 提取行列交叉的技巧(可扩展到三维)import torcha = torch.tensor ( [[1,2,3,4], [2,3,1,5], [5,1,7,2]])print(a[[1,0]]) #一次多行提取print(a[...,[1,0]]) #一次多列提取# a[...,[1,0]]等价于a[:,0:2]print(a[[1,0],[1,2]]) #获得

2021-03-05 11:31:06 1494 1

原创 YOLOv5-4.0 源代码导读-持续更新

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址YOLOv5utils文件夹metrics.pygoogle_utils.pytorch_utils.py...

2021-01-22 17:48:20 2802 4

原创 Intriguing Properties of Vision Transformers论文解析

Intriguing Properties of Vision Transformers[论文地址](https://arxiv.org/pdf/2105.10497.pdf)本论文系统研究了基于Transformer和CNN构造的图像分类器一些很多有趣的特性,包括纹理与形状信息的提取效果不同。作者对模型的鲁棒性,抗攻击性,抗噪声性,泛化性等诸多特性进行了较为系统的研究,并得出了很多有趣的结论。作者总结的视觉Transformer(ViT)的一些共性结论1:Transformer对严重的遮挡,扰

2021-06-02 19:26:38 3827 8

原创 YOLOv5-4.0-loss.py 源代码导读(损失函数)

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址源代码导读汇总网址本博客导读的代码为utils文件夹下的,取自1.27日更新的版本。...

2021-05-13 20:23:26 7284 8

原创 视频可视化目标检测中的bounding box及实现检测目标的剪切

变量格式输入:视频,格式通过改文件名字确定ground truth / target标签格式:一个txt文档,其中包含若干行lines,每一行为[object_id conf frame_index x y w h] 如果格式不对应 只需要修改读取文档的代码部分即可实现代码需要的函数库import osimport cv2import numpy as np需要定义的三个路径(txt文档所在路径、输入视频路径、输出视频路径)det_path = "../detections.

2021-03-31 11:42:19 1871 4

原创 YOLOv5-4.0-general.py 源代码导读(通用工具)

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址源代码导读汇总网址本博客导读的代码为utils文件夹下的general.py,取自1.27日更新的版本。general.py该文件提供了模型多个过程中用到的通用方法,每个功能以函数的方式进行定义。...

2021-03-04 20:22:18 4329 34

原创 python pkg_resources模块简介

模块简介英文使用文档常用函数介绍(陆续更新)pkg_resources.require(env=None, installer=None)该函数负责返回当前

2021-03-03 10:47:36 6980 3

原创 pytorch “step must be greater than zero“问题解决

在探究yolov5源代码中 process match部分,matches代码段的时候调试遇到了一下问题。ValueError Traceback (most recent call last)<ipython-input-40-9452df23b94c> in <module> 15 print(matches) 16 matchesn = matches.numpy()---> 17 m

2021-02-22 21:55:42 14198 5

原创 python print函数中“end“的作用及使用方式

函数说明print(str,end = ‘’)函数的作用为:取消print函数会出现的自动换行情况。使用示例print('train')print('val')trainvalprint('train',end = '')print('val')trainvalprint('train',end = ' then ')print('val')train then val...

2021-02-02 18:47:27 6011

原创 python str.join(iterable) 函数使用说明及注意事项

函数说明join函数用于以str为分隔符,将()内的可迭代对象连接为一个新的字符串。简单来讲,join函数在转换为连续字符串实现中省掉了一个for循环。使用示例及注意事项1.str.join()不会改变 str本身的内容a = '4'b = 'abc'a.join(b)print(a)42.空字符串被join,结果均为join内的可迭代对象。b = 'abc'print(''.join(b))abca = ['1','2','3','4']print(''.join(a))

2021-02-02 18:22:17 1562

原创 python socket.create_connection() 函数说明

使用示例import socketsocket.create_connection(("1.1.1.1", 53))二元组(“1.1.1.1”, 53) 表示ip地址与端口号socket.create_connection(address[, timeout[, source_address]])函数说明python socket编程官方文档该函数为连接到一个 TCP 服务,该服务正在侦听 Internet address (用二元组 (host, port) 表示)。连接后返回套接字对象。这

2021-01-29 12:08:09 6760

原创 YOLOv5-4.0-test.py 源代码导读(模型测试)

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址源代码导读汇总网址本博客导读的代码为主文件夹下的test.py取自11月份版本test.py以下为该文件必须导入的模块,其中部分文件来源于其他项目子文件。utils文件中其他子文件笔者会在后续逐渐更新。 (以下代码均保留原始缩进以方便阅读)import argparse #解析命令行参数的库impo

2021-01-27 22:58:48 4653 11

原创 module ‘torch‘ has no attribute ‘bool‘ 问题解决

module ‘torch’ has no attribute ‘bool’ ,在对如下代码段进行测试时出现:import torchprint(torch.__version__)a = []niou = 10tcls = [1,3,4]a.append((torch.zeros(0, niou, dtype=torch.bool), torch.Tensor(),torch.Tensor(),tcls))print(a)打印pytorch版本之后发现,torch版本为0.3.1过为老

2021-01-25 21:00:07 1716

原创 YOLOv5-4.0-activations.py 源代码导读(激活函数)

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址源代码导读汇总网址本博客导读的代码为utils文件夹下的activations.py最后更新日期为2021.1.7激活函数-数学表达首先介绍YOLOv5激活函数中涉及到的函数其具体形式:Sigmoid激活函数:Sigmoid(x)=11+e−x=exex+1 Sigmoid(x) = \frac

2021-01-23 22:45:28 3144 4

原创 YOLOv5-4.0-metrics.py 源代码导读

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址本博客导读的代码为utils文件夹下的metrics.pymetrics.py该文件通过获得到的预测结果与ground truth表现计算指标P、R、F1-score、AP、不同阈值下的mAP等。同时,该文件将上述指标进行了可视化,绘制了混淆矩阵以及P-R曲线。相关导入模块及说明如下所示。from p

2021-01-22 17:39:41 4221 27

原创 YOLOv5-4.0-google_utils.py 源代码导读

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址本博客导读的代码为utils文件夹下的google_utils.py文件,更新日期为2021.1.14.google_utils.py该文件负责从github/googleleaps/google drive等网站下下载所需要的的一些文件。相关导入模块及说明如下所示。#谷歌云对应的链接# Googl

2021-01-18 13:49:11 4084 5

原创 YOLOv5-4.0-torch_utils.py 源代码导读

YOLOv5介绍YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址本博客导读的代码为utils文件夹下的torch_utils.py文件,更新日期为2021.1.10.torch_utils.py该文件为基于pytorch的一些实用工具的编写。相关导入模块及对应说明如下所示:import logging #日志功能生成模块import math #以下为torc

2021-01-17 21:21:03 3350 19

原创 ViPeD数据集预处理(降低图片分辨率,隔帧等间隔过滤)

ViPeD数据集预处理(降低图片分辨率,隔帧等间隔过滤)

2020-12-15 17:16:44 545

原创 bounding box:xml文件筛选特定类 to txt (yolo格式),同时过滤图片

本程序中,将把上述所有xml文件中bounding box标注的类别筛选成特定的你想要的类别,并把满足条件的图片和txt文件进行保存。

2020-12-15 15:56:06 386

原创 bounding box label的txt文件转换为voc格式的xml文件

说明将label为bounding box的文件格式转换为voc格式的xml文件,输入的三个路径分别为文件夹对应的路径,即可自动实现批量化处理。%%%判断是否进行转换的依据为 图像对应的编号是否与其label有对应 如果没有则会跳过,最后得到完全匹配的label和图片文件夹代码import osimport xml.etree.ElementTree as ETfrom xml.dom.minidom import Documentimport cv2class YOLO2VOCConv

2020-12-15 15:37:00 345

原创 论文笔记 · Symmetry and Group in Attribute-Object Compositions(CVPR 2020)

内容简介该论文由上海交通大学的Yong-Lu Li等人发表在CVPR 2020。本文在属性-对象组合配对问题当中提出对称性法则并同群论公理相结合,以使得在对象去属性和对象添加属性变换更加合理。同时提出相对移动距离(RMD Relative Moving Distance)模型来利用属性自身的变化而不是属性本身的特征来对属性进行分类。本文将从论文背景、模型构建、实验结果和个人思考四个方面出发来介绍该论文。一、模型背景由图a上半部可以发现,在对象-属性组合问题当中,属性同对象之间具有组成性。同时,属性

2020-08-16 22:44:49 575 2

原创 基于卷积神经网络的MNIST上正确率99.5%+baseline构建及调试经验分享(pytorch实现)

内容简介MNIST手写数字识别任务是入门神经网络的经典任务。构建一般的二层全连接神经网络或者是简单的卷积神经网络均可以轻松达到正确率99%加,本文在此基础之上分享进一步的模型改进逻辑,并给出对应实验结果供读者参考。Baseline说明首先给出可以直接运行baseline,要求安装pytorch,visdom等,有无GPU均可,若有GPU显存占用大概为0.7G。(建议支持GPU,笔者运行的时候i7-9750H 直接顶满了,最佳测试集正确率为99.53%)模块1 引用库、定batchsize、定训练测试

2020-06-20 11:52:25 4044

原创 街景字符编码识别项目学习笔记(六)模型集成

内容简介由之前相关的博客介绍的内容,我们已经可以通过pytorch构建一个初步的字符识别模型,并实现了端到端的识别验证预测的相关工作。本节,我们聚焦模型集成有关内容,仍然是在保持模型本体不变的基础上,尽可能增加模型准确率的一些方法。集成学习方法在机器学习中的集成学习可以在一定程度上提高预测精度,常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体验证集划分联系紧密。由于深度学习模型一般需要较长的训练周期,如果硬件设备不允许建议选取留出法,如果需要追求精度

2020-06-02 20:49:59 174

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

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

2020-05-30 21:15:52 312

原创 ReLU激活函数的非线性性质

ReLU激活函数的非线性性质本文节选自学习笔记(四),单独探讨ReLU激活函数的非线性性,并进行数学说明。非线性激活函数:同一般的神经网络相同,采用非线性激活函数能够使网络全过程训练摆脱单一的线性关系,让feature map获得的特征更加符合现实。在大部分CNN网络架构当中,采用ReLU函数作为激活函数,ReLU函数表示如下:ReLU={x,if x > 00,if x ≤ 0 ReLU= \begin{cases} x, &

2020-05-27 14:23:11 2288

原创 街景字符编码识别项目学习笔记(四)CNN介绍及字符识别模型的pytorch实现

内容简介本文主要介绍在项目应用中使用的卷积神经网络,及其在pytorch中的如何实现。CNN介绍及其发展历程CNN介绍卷积神经网络(Convolutional Neural Network)是一类特殊的神经网络。同全连接神经网络等不同的是,卷积神经网络直接对二维数据乃至三维等高维数据进行处理,并且具有更高的计算精度和速度。尤其是在计算机视觉领域,CNN的应用非常广泛,使其成为了解决图像分类、图像检索、目标检测、语义分割的主流模型。CNN当中应用的卷积操作和传统的图像处理及信号处理当中使用的卷积操作

2020-05-26 22:10:37 1306

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

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

2020-05-23 21:29:54 540

原创 街景字符编码识别项目学习笔记(二)pytorch in deep learning

内容简介本文为针对Datacamp上的Introduction to deep learning by pytorch课程的学习总结。Datacamp(官网链接)内含许多python的专题知识讲解,以几分钟的视频教学加在线编程实操为主。笔者在下两个博客中将总结pytorch中的基本张量创建以及其在深度学习当中的一些应用,最终将实现Alexnet并完成从读取数据到训练评估的全过程。本博客先总结tensor的基本运算,而后实现基本的全连接神经网络,下个博客将介绍卷积神经网络相关操作,并实现AlexNet。t

2020-05-21 17:16:18 356

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

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

2020-05-19 23:22:24 467

空空如也

空空如也

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

TA关注的人

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