自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 2021水下声学目标检测总结-Rank2

摘要2021全国水下声学检测比赛结束了,完成了一场惊险刺激的逆袭战。比赛连接水下声学赛道接下来总结一些重要的炼丹经验。赛题理解本次的数据集不多,而且数量比较少。赛前一定要仔细观察数据,由于原本图像是全黑的,未经过处理,可视化标注框也啥也看不出来,就没仔细观察数据就开始了炼丹,上去就是res2net101的大网络,前期baseline还行,加了一些平时的trick上分也挺猛的,dcn,多尺度,albu,soft_nms前期一直维持在前几吧。过来一段时间之后,发现自己在测试的trick全都不work了

2021-06-12 20:32:40 4910 14

原创 华录杯-江苏违法广告检测-冠军总结

摘要通过大概一年的学习,自己也是成功夺得一次检测方面的冠军,这个比赛属于目标检测但有不是传统的检测任务,是一个非常具有挑战的比赛,让我从中受益匪浅和延伸出很多的idea。接下来就整体的讲解一下此次比赛。比赛连接赛题理解本次比赛提供合法数据集(无标签数据)和违法数据集(有标签数据)其中本次得分为0.2的acc和0.8的map得分共同组成,我们要完成分类合法数据检测违法数据。这里就不同于我们以往的目标检测任务,我们需要先进行分类在检测,那么我们我们该如何完成这个任务。分类任务我们其实就通过阈值调成和类别判

2020-11-03 17:03:39 1855 9

原创 深度学习 计算机视觉成长竞赛路线

摘要简单的分享一下我自己的学习路线。可以参考未必适合所有人。我个人更倾向于用知识去参加竞赛博取奖金。那么该如何入门在到成长为竞赛达人。掌握基础语言python我是本科一年级暑假学习python。在此之前有较好的掌握c。c++。能用代码轻松表达自己想要的目的。用自己的逻辑方式去写代码还是一件比较有意思的事情。学习python也是比较简单,一周的时间差不多就能掌握基础语法。学习python语言是很容易,最重要的是逻辑思维能力。是初学代码需要长时间的代码磨砺去锻炼的。基础学习可以去bilibili参考莫烦

2020-10-04 19:19:54 4642 12

原创 Visual SVN Server的下载和使用

代码管理和文件下载管理服务器Visual SVN Server使用相比如git操作更方便,不用指令就可以完成,其次能够上传大文件十分方便。

2023-03-25 09:19:09 5371

原创 c++ 递归问题总结-N皇后问题-骑士问题-二维素数环问题

总结递归问题框架的使用,通过三个题来掌握递归的构造和解决问题的思路。递归使用核心框架总结:Dfs() 传递参数 一般问题规模n,和根据问题进行变动的(x , y) 或者当前值yIf()满足任务终止时最后一刻的状态,用来输出解 {} For()用来遍历下一步状态的全部可能值或者方向If() 是否满足条件继续深入dfsDfs通过核心框架面对使用任何的dfs问题或者其他类似回溯问题可能以这个模板去套入。

2023-03-21 20:41:25 1038

原创 pytorch mmrotate训练自定义数据集xml转txt

mmrotate的使用,xywh angele转为四个点的作业计算,自定义任意数据生成data格式

2022-11-20 19:17:09 1187

原创 github git上传代码简单使用

git 上传自己代码到gitee或者github

2022-10-30 15:17:41 463

原创 python 提取视频帧保存为图像-目标检测

视频提取图像

2022-10-27 10:37:03 1653

原创 pytorch MMseg训练自己数据集

mmseg使用训练自己数据集

2022-10-26 20:56:22 1283 3

原创 pytorch 实现图像分类+web部署

我们本次实现的目标是将本地的图像分类或者目标检测等等深度学习算法部署成web在线预测的形式。效果图如下,在线图像分类网站大概的设计是有五个可以选择的模型,第二步是可以选择一些照片用来测试分类,同样可以自己本地上传一些照片,最后输出分类的结果和FPS。调试好本地的web之后就部署在服务器上。.........

2022-07-17 16:21:44 5244 2

原创 c语言-链表二叉树-创建-遍历-求高度等复试常见问题

二叉树创建二叉树的细节就是c==‘0’ 要让T=NULL部分,我们整体就递归建立就可以了,二叉树输入由于是char类型,所以在提前创建二叉树的时候首先就要想好如何输入二叉树字符串,比如输入12000在按下回车键才可以结束程序,并正确的运行。否则程序无法正常结束。所以提前构建好二叉树模型转化成字符串的形式。typedef struct tree{ char data; struct tree *lchild,*rchild;}Tree,*BiTree;void create(BiTree &amp

2022-04-16 18:10:06 859

原创 c语言-链表创建-合并-删除等复试常见操作

链表创建链表的创建分为头插法和尾插法,首先讲解尾插法尾插法尾插法就是我创建输入数的顺序是1-2-3,那么创建的链表就是1-2-3。以L为开头的节点,L-1-NULL,每次输入一个元素,就放入NULL的位置处。#include<stdio.h>#include<malloc.h>typedef struct node{ int data; struct node *next;}Lnode,*ListNode;void out(ListNode L){ List

2022-02-28 17:11:39 1023

原创 Pytorch 目标分类比赛入门

分类比赛叙述目标分类比赛是入门比较简单和编写代码量较少,适合初学者第一步比赛入门的基础。比赛一般分为初赛复赛,初赛大部分提交csv文件,复赛可能会需要在官方指定的服务器上docker环境部署然后进行预测服务器上测试集照片。比赛数据比赛连接AI研习社非常适合入门比赛,里面有很多不同的比赛和代码分享,大家可以去学习学习。数据下载我就以这个比赛的102鲜花分类为例。讲解比赛流程数据加载数据是这个样子的,train是我们要训练的数据图片,train.csv是保存的对应train下照片的label,而te

2022-01-08 16:54:51 1687 1

原创 pytorch 使用免费gpu测试训练(aistudio)yolov4为例

摘要aistudio提供免费的v100 16显存,能供进行训练,我在训练分类的时候是没用问题的,训练eff网页就会卡掉。所以这个只能供学习小幅度训练。或者使用aistudio提供的python环境进行日常工作也是不错的选择。创建notebook第一步登录官网进行账号注册 https://aistudio.baidu.com/aistudio/index第二步,点击项目,我的项目,进行创建项目这里其他信息随便填,点击创建数据集,提前吧自己用到的文件压缩包,和权重上传这里我上传了pytorch版

2020-08-04 12:39:26 2783

原创 pytorch yolo5训练任意训练集

摘要yolov5在kaggle的水稻检测表现非常好,至少是单模型我所知道的最高得分。对比mmde双阶段模型和efficientdet模型,上一篇文章讲解了pytorch最强复现的yolo4版本,yolov5基本和yolo4训练过程一样。数据集准备第一步先生成yolo统一的格式txt文件,import osname=os.listdir('./image')for i in range(len(name)): name[i]='./coco/images/train2017/'+nam

2020-08-01 19:43:28 2701 6

原创 pytorch yolo4训练任意训练集

摘要这几天刚出的pytorch版本的yolo4,训练测试一下看下效果,pytorch yolo4连接,数据集准备第一步先生成yolo统一的格式txt文件,import osname=os.listdir('./image')for i in range(len(name)): name[i]='./coco/images/train2017/'+name[i]file = open('./train2017.txt', 'w')for i in range(len(name)):

2020-07-29 17:46:44 2934 8

原创 pytorch 华为云杯垃圾分类总结(目标检测)

摘要我们队伍名称冲冲冲,A榜第八,B榜第11,决赛榜第16,决赛服务器评分出现问题和恰巧我们的模型速度在增加了200多张照片的情况下又超时了,直接就出局了。接下来就分享一些常用的提分点。baseline前二十基本全是mmdetection。竞赛必备,里面包含了很多算法,目前2.0版本主要使用cascade——rcnn系列,第一名使用的是res2net前置网络,当时我们并没有使用者一个网络,res2net的基础多分就有70分,我们使用的cascade——rfp的resnet50作为前置网络,基础得分只

2020-07-23 15:24:12 6071 10

原创 pytorch 目标检测竞赛(一)数据分析

摘要目标检测竞赛的第一步就是需要一个全面的数据分析,需要分析长宽比,各个类别的比例,对json文件的解析有二种方式,一种是利用cocoAPI解析也很方便,另一种就是使用json文件特有的读取方式,以下代码全部是在jupyter notebook上使用,上一个单元的信息依旧保留在下一个单元,如果使用pycharm的话,把使用的代码段在重新复制一下。数据分析分析标签数量,每个类别对应的idimport jsonwith open('instances_val2017.json') as f:

2020-06-28 16:17:21 1687

原创 pytorch mmdetection2.0安装训练测试(coco训练集)

摘要我是使用google的服务器colab来进行安装使用的,很方便,开vpn就能免费使用k80显卡,冲个会员就能使用p100,基本很稳定,能够满足训练需求。如果是自己的电脑注意我安装包的版本,pytorch1.5 torchvision0.6 cuda是10.1版本安装mmdetection2.0服务器自带很多的安装包,十分方便,注意看我colab的整体布局,你下载文件要下载到drive My Drive下才可以保存,这个下载的东西会挂载到云盘上。然后在右边就开始输入命令即可%cd drive/

2020-06-24 15:22:12 3622 6

原创 pytorch 目标检测数据增强cutmix和mixup混合

摘要我写的这个版本不同于之前的写法,我使用的是线下手段对照片进行合成和json的修改,训练测试效果非常的好。能够大幅度提升分数。写起来也是比较繁琐的。效果展示这种是提取照片融合按照0.5的数值混合,不同于mixup,这种加入没有背景,效果会好,这种混合的照片人眼看起来并不是很舒服,但是能对训练带来很好涨分。具体流程第一,你需要提取训练时候最低的几个类别,这里提取是提取单独的物体,不包含背景,也就是说你需要根据json文件,或者xml文件来知道bbox的位置进行提取,这种提取就跟上图所示一样,小

2020-06-13 14:46:25 5472 13

原创 pytorch 数据增强cutmix的实现

摘要cutmix和mixup是一种比较重要的数据增强手段,普通的数据增强也只是在照片上修改,增强了对网络提取特征图的能力,cutmix这种就是混合label,增强了fc的学习能力。cutmix的思想,只要是用过二张照片,随机的截取一部分,然后换位置,导致label也发生变化。本来有四种花,我放上去的图片是二个换位置比较明显的图片,照片对应发生改变,label也改变了,变成了有小数的,这里大家可能有疑问。我这里是在线下做的测试,在实际我们运行程序的过程中,原本分类的label的1确实会变成小数,但

2020-06-08 09:41:55 8648 3

原创 pytorch 目标检测数据处理(二)提取困难样本,低ap样本

摘要比赛当中数据处理有很多种,对图像数据的分析,和分析之后该如何加强比较低的ap类别,今天就讲解我最近使用的几种困难样本学习和专注低ap的数据增强后的处理。困难样本就是loss比较大的,在每一个批次训练当中都占有很大部分的loss,导致loss很难继续降低。困难样本提取我使用的是pytorch版本efficientdet,整体流程也比较简单,就是在dataloader上改动getitem这个函数,返回的时候加上图像的name就可以了。因为大多数训练都是批次化训练说以collect这个函数返回也要带上

2020-05-31 19:20:19 2343

原创 pytorch 目标检测数据处理比赛使用

摘要这一部分的讲解是比赛选手所必备的基本操作吧,对数据要有一定的理解,所以我们统计数据类别,合理划分训练集和验证集,直接对json文件分析,刚好对应上上面讲解cocoAPI的操作。统计xml文件中的类别数量import osimport xml.etree.ElementTree as ETfrom collections import Counterimport numpy as npa ='work/trainval/VOC2007/Annotations/'file_names = [

2020-05-22 08:56:36 1050

原创 pytorch 目标检测 coco API 讲解 数据生成

摘要在目标检测中进入训练前,会有几种不同形式的准备数据,今天就具体的讲解几种常见的数据准备格式,当然,最长用的还是coco数据集形式进入训练。voc coco数据集我们通常提到的voc是07年就有的,有照片和xml文件进行的标注信息,xml是labeling标注之后最原始的保存信息的文件,json是全部提取出来之后形式字典形式的信息,效率比xml快很多。imagesets存储的全部是照片,annotations是xml文件,其他的seg是语义分割里面的数据标出形式,这里先不用学习。在最新的目标检测

2020-05-12 18:45:14 1951 2

原创 pytorch 实现数据增强分类 albumentations的使用

摘要albumentations包是一种针对数据增强专门写的API,里面基本包含大量的数据增强手段,比起pytorch自带的ttransform更丰富,搭配使用效果更好。代码和效果import albumentationsimport cv2from PIL import Image, ImageDrawimport numpy as np from albumentations import (Blur,Flip,ShiftScaleRotate,GridDistortion,Elastic

2020-05-10 19:14:59 7874 7

原创 pytorch 实现retinanet(三)loss的定义和训练

摘要这个版本的代码是非常的简洁,loss的定义和训练部分写法也与目标分类十分相近,所以学习难度降低不少,能省的代码全部省掉,最主要的目标让大家了解目标检测的本质,会写训练和检测测试部分就可以,缺少mAP计算,这部分我会在单独讲解。focal loss定义在前二章文章中,第一篇主要是讲解retinanet提取出来5种特征图用来进行预测,第二篇讲解数据处理成我们需要预测的label,就是为了方便...

2020-05-03 18:44:32 2210

原创 pytorch 实现retinanet(二)候选框的生成

摘要在retinanet中的网络和候选框的生成划分很明显,源代码好像不能直接运行,这里我修改了,可以单独运行测试,本章就来学习在数据预处理阶段就对框的生成,以及按照iou排序,这样就极大方面训练。代码层次非常清晰。dataset数据加载这部分的加载属于正常的操作,不同普通的训练集,这里txt文件如下所示先是xyxy坐标点然后是label,如果一张照片很多框,后面继续按照这种格式。'''...

2020-05-02 19:22:15 2341 2

原创 pytorch 实现retinanet代码详解(一) 网络构建

摘要本章学习 retinanet的代码,每次学习一个新的代码都会对目标检测的理解加深,这次的代码风格和以往的又不一样,很值得大家细细品味源码,https://github.com/kuangliu/pytorch-retinanet 本章的代码在数据处理方面就将框的产生和挑选出合格的框全部处理好,此代码同样没有训练的必要,到后面我会出训练cascade rcnn和efficientdet的网络的...

2020-04-29 16:44:26 4201 4

原创 pytorch 目标检测数据增强 详细讲解

摘要目标检测中的数据增强是比较复杂,每一次改变图像同时也要考虑boxes的信息,比起目标分类更加局限性,比如翻转,左右翻转一般影响不大,但上下翻转造成的影响就截然不同。下面操作坐标点全是xyxy形式resize操作先来看下对比,在图片大小改变的同时也要改变boxes的位置信息,第一张是原图我截图是一样大小,可以看出框的位置依旧准确,原图是(480,364)变化后的是(300,300),...

2020-04-26 16:42:37 5628 14

原创 pytorch 实现学习率设置 观察数据具体调整

摘要学习率的设置也是训练好模型的关键点之一,所以需要掌握常用的学习率的设置,一种是使用自带函数,另一种是自己设置每个阶段的学习率作为调整,模型保存方式在学习率调整的时候你是没有办法直接感觉多少epoch能训练出来,所以保存模型的时候最好是可以继续训练的形式,例如我在训练102分类的时候acc达到93的时候基本很难再增进了这时候就要在考虑一下学习率的设置,开始的时候全程0.001,所以这时候将...

2020-04-21 15:16:58 1590

原创 pytorch 实现初始化操作详细讲解 常用方案

摘要初始化的作用就是是网络更新参数速度加快,一个好的初始化操作也是必备的,今天讲解一下常用的初始化操作输出参数def print_weight(m): if isinstance(m, nn.Linear): print("weight", m.weight.data) print("bias:", m.bias.data) print...

2020-04-12 11:32:46 3451

原创 pytorch 实现SSD详细理解 (三)loss的定义和训练

摘要在目标检测中loss的定义也是相当重要的一部分,SSD的loss定义是比较基础的,学习基础之后在去学restinanet的loss定义就轻松很多,定义loss是为了训练,让计算机知道自己的预测和真实标签的差距,通过不断的修改权重来达到loss值的缩小,就是预测准确度的提升。SSD的loss定义class MultiBoxLoss(nn.Module): def __init_...

2020-04-08 16:57:47 3203 7

原创 pytorch 实现SSD详细理解 (二)ssd网络

摘要前面讲解了ssd网络的特征图提取,在ssd中分为二个阶段,测试阶段和训练阶段,测试是通过已经训练好的参数直接来产生回归好的框和分类类别,训练阶段就是通过sdd产生的数据用来训练参数能够进行分类和回归。multibox函数这个函数是是用来创建6个特征图框的坐标点和分类类别def multibox(vgg, extra_layers, cfg, num_classes): loc_...

2020-04-06 20:14:45 1927 3

原创 pytorch 实现SSD详细理解 (一)vgg和特征图的提取

摘要本章就开始进入SSD的学习,通过学习这些基础的目标检测算法更好的对比理解其它算法,多看几种代码的写法更容易找到适合自己书写的套路。ssd网络的6个特征图ssd采用的是vgg16的特征提取,在vgg16中提取二个特征图,之后又通过额外的增加卷积操作再次提取四个特征图,一种6个特征图。如下图仔细看这里的特征图,第一个输出是(512,38,38)的特征图,这个是在vgg16中的第22层的输...

2020-04-05 20:20:30 4559 4

原创 pytorch 实现yolo3详细理解(五)训练自己数据集和csv数据集标签处理

摘要前面基本已经将yolo3的大致细节都分析了,那么现在就要训练自己下载的数据集来看下效果,进行迁移学习,首先我会先对github本身自定义的custom数据集进行训练,只有一张照片,一个标签签,之后训练自己的数据集是摇从xml文件先提取标签,完全按照custom中的格式进行布局,然后修改一下cfg文件就可以运行。dataset源码是对txt文件的处理,在实际运行中对数据进行分析是利用panda...

2020-03-28 15:17:21 4044 1

原创 pytorch 实现yolo3详细理解(四) 测试和训练

本章就讲测试部分和训练部分的代码,照片经过yolo3的网络输出的是[1, 10647, 85]的数值,其中10647是(1313+2626+52*52)*3的输出,在每一个大小的网络信息上都有三个预测框,85是框的位置坐标x1,y1,x2,y2的形式,在yolo3的训练坐标储存方式是xywh形式,自己需要训练的xml文件保存的坐标是xyxy形式(到后面会讲解自己想要训练数据集的整理),和置信度1,...

2020-03-22 20:06:22 1968 1

原创 pytorch 实现yolo3详细理解(三) 数据集处理

本章详细讲解数据的处理问题,将coco数据集读取,以及之后自定义数据集的处理,数据预处理思想yolo3的数据集处理也是一大亮点,由于yolo3对数据集的输入有要求,指定的照片输入大小必须是416,所有对于不满足照片的大小有一系列的操作,如果直接resize操作,将直接损失照片信息,网络在学习分类的过程还要适应照片尺寸的问题,导致训练效果不佳,在yolo3中是先进行高和宽的调整一样大,在进行上采...

2020-03-20 17:41:12 1223 10

原创 pytorch 实现yolo3详细理解 (二) yolo3网络

上篇文章讲了darknet的网络构建,这次讲整个yolo3网络的构建YOLO代码解释import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.autograd import Variableimport numpy as npfrom ut import build_targets, to_c...

2020-03-18 09:11:59 1183

原创 pytorch 实现yolo3详细理解 (一) darknet网络

摘要目标检测算法yolo3应该算是复现难度比较小的,比起R-CNN,FAST-RCNN,FASTER-RCNN简单很多,越是最新的目标检测算法,越是容易复现,之前看过faster-rcnn的源码,有个roi-pooling这一板块使用c语言写的,加上版本torch0.4才行就放弃复现了,理解代码还是很有必要的。那么今天就开始学习yolo3,第一步是把每行的代码学懂。darknet网络详解首先...

2020-03-16 09:24:17 2030

原创 pytorch 数据集处理 目标检测(分类)数据集处理

前言无论是在作分类任务或者是目标检测任务都需要数据集的处理,一种是txt文件保存标签的信息,另一种只有图片如下图的形式,这一步也是学会faster-rcnn的关键点分为训练和验证的照片| 每个分类的类别一种是猫的照片,另一种是狗的照片,这种是自己的数据集,其实官方的数据集也是这样放置的,比如CIFAR10,其中的是有10个文件夹,每个文件夹下是很多张一种数字的照片,正常情况下我们引...

2020-03-08 17:29:37 7553 6

目标分类目标检测论文

我博客里面的论文都在这里面,对应下载找到就行,论文是一定要看的,里面有实验具体细节。

2020-04-26

空空如也

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

TA关注的人

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