自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MAX的专栏

记录技术成长,分享改变世界

  • 博客(75)
  • 资源 (5)
  • 收藏
  • 关注

原创 cosbrower 腾讯云管理工具使用

cosbrower chttps//cloud.tencent.com/document/product/436/10976。

2022-07-20 10:52:44 326

原创 针孔相机畸变成像详解

相机成像经历三个过程:1、世界坐标系到相机坐标系。外参变换,涉及外参参数:(1)、世界坐标系到相机坐标系的旋转矩阵 R(2)、世界坐标系到相机坐标系的平移矩阵 T2、相机归一化坐标系(z=1)平面内坐标投影畸变畸变矫正, 涉及内参畸变参数:径向畸变系数:k1, k2, k3切向畸变系数:p1, p23、相机归一化坐标系(z=1)平面投影到像平面相平面投影,涉及内参畸变参数:投影焦距:fx, fy相位平移:cx, cy下面详细讲解每一个过程:世界坐标系到相机坐标系是刚体变换,不会产生形变,

2022-06-30 18:24:01 1930

原创 CV::Mat数据拷贝 memcpy 踩坑

cv::Mat img1(h, w, CV_8UC3);cv::Mat img1(h, w, CV_8UC3, data);一般cv::mat 初始化后数据内存 data 段都是连续的, 可以用isContinuous()函数判断存储是否连续。切记!切记!切记!不连续不能当一维数组处理一般经过裁剪的Mat图像,都不再连续了,如cv::Mat crop_img = src(rect);crop_img 是不连续的Mat图像,如果想转为连续的,最简单的方法,就是将不连续的crop_img 重新clon

2022-06-27 15:35:41 4259 2

原创 CUDA 二维、三维数组遍历

一个 Grid 分成 按维度分成多个Block,Block 个数为 GridDim.x * GridDim.y遍历: blockIdx.x , blockIdx.y一个Block 按维度分成多个Thread,Thread个数为 BlockDim.x * BlockDim.yThread 是最小的运行单元遍历:threadIdx.x , threadIdx.ycudaMemcpy2D( d_A, // 目的指针d_pitch, // 目的pitchbmp1, // 源

2022-06-26 23:04:57 1524

原创 C++时间统计

1、clock_gettime2、std::chrono::system_clock3、clock()不准确,不建议使用time_t t1 = clock()

2022-06-15 16:31:14 745

原创 鱼眼相机投影模型

等距投影R、T 变换将空间中一点转换到鱼眼坐标下。归一化到鱼眼Zc = 1 平面上。得到归一化(x, y)根据映射点(x, y)求 theta , theta 为入射光线与 Zc 轴夹角。加入畸变系数,求畸变thetad。rc = f * thetard = f * thetad根据等比例关系,xc / xd = rc / rd即可重新求得畸变后的相机坐标系下的(xd, yd)焦距 + 偏置求得 相面坐标 (u,v).........

2022-06-05 17:50:19 2138 3

原创 yolov5模型 转 tensorRT

yolov5模型转TensorRT踩坑记

2022-06-01 15:01:28 915

原创 Ubuntu1804 + cudann11.3 + cudann8.2 + tensorRT8.0

CUDA11.3cuda 官网.run 文件直接sh运行,不要安装驱动安装完后配置环境:sudo gedit ~/.bashrc export PATH=/usr/local/cuda-11.3/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATHsource ~/.bashrc验证nvcc -Vcudann8.2cudann 官网(1)将cuda/include/cudnn.h

2022-05-30 01:25:31 1093

原创 Ubuntu1804 conda 源配置

conda config2.打开.condarc文件,替换掉里面的内容这里的关键是将https换成了http!channels: - defaultsshow_channel_urls: truedefault_channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - http://mirr

2022-05-29 18:09:32 2295

原创 ubuntu openGL 安装

1、安装了opengl的核心库sudo apt-get install libgl1-mesa-dev*sudo apt-get install build-essential2、安装OpenGL Librarysudo apt-get install libgl1-mesa-dev3、安装OpenGL Utilitiessudo apt-get install libglu1-mesa-devsudo apt-get install libegl1-mesa-dev4、安装OpenGL U

2022-05-28 15:33:44 14948

原创 Ubuntu opencv 源码编译安装

1.去官网下载opencv, 下载连接http://opencv.org/releases.html,选择sources版本测试unzip opencv-3.4.1.zipsudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev安装 l

2022-05-26 10:41:56 469

原创 Pytorch Dataset和DataLoader 加载训练数据

Dataset 基类torch.utils.data.Dataset 为数据集的基类, 继承这个基类,我们能够非常快速的实现对数据的加载。我们要实现自己加载数据的类,并继承于Dataset 这个类,重载类的成员函数1、__1en__方法, 能够实现通过全局的len()方法获取其中的元素个数;2、getitem 方法,能够通过传入索引的方式获取数据,例如通过dataset[i]获取其中的第 i条数据。from torch.utils.data import Dataset, DataLoader#

2022-05-19 15:37:33 543

原创 各种IOU损失函数(IOU、GIOU、CIOU、DIOU)

IOU交并比GIOU

2022-02-19 20:05:53 3005

原创 NMS、Soft-NMS、Softer-NMS

NMSNMS 顾名思义,非极大值抑制,也就是把极值周围的给抑制掉,不输出。在深度学习中叫去重,只保留最可靠的那个输出。首先定义一个相似度,深度学习中用IOU表示两个框的相似度。步骤:1、取分值最大的框。2、将IOU大于阈值(0.5)的框抑制掉。3、取剩下框分值最大的框,循环步骤1、2。很简单,是不是!代码:def NMS(boxes, scores, th): x1 = boxes[:,0] y1 = boxes[:,1] x2 = boxes[:,2]

2022-02-19 19:13:34 3855

原创 深度学习中的 BN (BatchNormalization)理解

CNN 三大算子: CONV + BN +RELU1、为什么 BN指导思想:机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的。具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律。具体原因:随着网络加深,数据经过激活层后趋向两侧,梯度趋于消失,分布在敏感激活区域(中间部分)的数据减少。不利于网络收敛。BN 将数据从新拉回标准正态分布。如何 BN减均值,除方差,乘scale, 加shift3、反归一化归一化有好有坏,如何取舍,最

2022-01-27 10:21:00 4408

原创 PsROI Pooling 深入理解,附代码

faster rcnn 和 rfcn 的最大不同点在于rfcn采用了PsROI Pooling 保留了局部区域的位置敏感性。输入batch_size = N 的批次训练图像。假设我们通过 RPN 层网络获取了 M 个 rois, 每个 rois 用 1*5 的向量表示,**第0 个数表示rois 所属于的图像id,**对roi 进行pooling 时要到特征图对应的batch 中。例如 rois = [[0, 1,4,6,8],[0,2,3,7,9],[1,3,5,7,9]],有3个roi,其中两个

2022-01-18 12:04:59 3401

原创 对抗网络GAN

“adversarial training is the coolest thing since sliced bread" – Yann LeCunGAN 网络主要由生成器G 和 判别器D两大部分组成。G 网络主要用于生成目标,D网络主要用于区分目标。通过二者之间的对抗,使得生成的目标越来越强大。比如我(G)要做亿万富翁,我向一个导师(D)请教:G:我要做亿万富翁D:你学识不够– 于是我开始疯狂学习知识G:我要做亿万富翁D:你投资能力不足– 于是我开始疯狂学习投资G:我要做亿万富翁D

2022-01-07 09:43:01 264

原创 FCOS : 一阶段无anchor全卷积检测网络

FCOS: Fully Convolutional One-Stage Object Detection文章链接:https://arxiv.org/pdf/1904.01355.pdfFCOS 是一阶段网络,基于 center-ness 的思想,实现没有anchor, 没有proposal的目标检测。而且召回率不亚于基于anchor 的检测算法。1、网络结构如下:网络结构借用FCN,通过反卷积上采样后进行特征融合,最后获取多尺度的特征输出,文章给出了5层尺度特征feature map, 最后在每一

2021-12-14 14:49:48 2630

原创 linux 下 CUDA + Opencv 编程 之 CMakeLists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)PROJECT(medianFilterGPU)# CUDA packageFIND_PACKAGE(CUDA REQUIRED) INCLUDE(FindCUDA)# CUDA include directoriesINCLUDE_DIRECTORIES(/usr/local/cuda/include)# OpenCV packageFIND_PACKAGE(OpenCV REQUIRED) # OpenCV in

2021-09-27 15:35:43 488

原创 CornerNet详解

论文动机1、anchor-box 好用,但是有两个缺点:1)、数量太多,造成负样本太多,样本不均衡,导致训练效率低。2)、anchor-box引入太多超级参数,数量,大小,长宽比等增加算法设计难度。所以想通过一组关键点,用左上角和右下角的点来代替bbox。网络结构Heatmaps预测哪些点最有可能是Corners点,Embeddings用于表征属于相同对象的corner的相似度。它们的通道数都为C,C是object的类别数 (不包括background) 。最后的Offsets用于对corn

2021-09-16 08:46:00 8350 2

原创 样本均衡之Focal-Loss

论文地址:Focal Loss for Dense Object DetectionICCV2007 RBG和Kaiming大神新作要解决的问题:一阶段网络出现后,发现一阶段网络的检测准确率不如二阶段网路。作者希望能通过改进 loss 来促进一阶段网络的检测精度。为什么一阶段网络检测精度明显不如二阶段,作者认为是:样本类别不均衡导致的。...

2021-09-03 08:08:00 352

原创 样本均衡之OHEM

论文地址:Training Region-based Object Detectors with Online Hard Example MiningOHEM 主要解决神经网络中困难负样本的问题。困难负样本是神经网络难以区分的负样本。我们希望模型在训练的时候,负样本的confidence接近0,但是如果不加干涉,总会有一些负样本不那么接近0。难样本挖掘就是要找到这些样本,针对性地训练。主要贡献:1、不需要设置正负样本的比例来解决类别不均衡的问题。2、数据集越大,性能越加明显。主要原理1、根据损

2021-09-02 08:29:42 470

原创 RFCN详解

解决的问题:物体目标检测包括物体种类检测和物体的位置检测。在对物体种类检测时,我们希望能保持位置不敏感(translation invariance),也就是不管物体在哪个位置都能正确分类。在进行位置确定的时候,我们希望保持位置敏感(translation variance),也就是不论物体发生什么样的位置变换都能确定物体的位置。解决神经网络对物体位置不敏感的问题,神经网络擅长提取图像的局部特征,不太关心局部特征所在的位置(我认为是因为卷积权值共享导致)。为了让神经网络做到物体检测,需要增加位置敏感特性

2021-08-31 08:25:50 3646

原创 SSD详解

论文地址:Single Shot MultiBox Detectorgithub :代码SSD300 网络结构:目标检测两大类:two-stage: 产生稀疏的候选框,然后对候选框进行分类和回归。优点在于精准,但是速度欠缺。one-stage:均匀在图片不同位置上进行密集抽样,抽样可以采用不同的尺度和宽高,然后提取特征进行分类和回归。优点是速度快,但是均匀密集采样的缺点是训练难,主要是因为正负样本分布不均衡(使用FocalLoss)。多尺度 + 先验框(anchor)预测MultiBox预测

2021-08-24 09:27:20 437

原创 YOLO V2详解

论文地址: YOLO9000: Better, Faster, Stronger如果对 YOLO 没有概念的朋友,可以先看看YOLO V1 的思路。在YOLO v1 之后,深度学习出现了许多trick,例如batch Normalization , 多尺度训练等,为了提高检测精度,v2也借鉴 RCNN 体系的anchor box。Better:1、加入BNBatch Normalization(批归一化)map 提升 2%BN 已经成为一种标配,加入BN 后,可以去掉 dropout。2、高分

2021-08-20 09:07:01 469

原创 YOLO V1详解

YOLO 顾名思义: You Only Look Onece。你只需要看一次,对比与fasterrcnn先提取前景(Proposal),再对前景进行分类和回归两步走,YOLO 意思就是一步到位,直接是backbone之后就进行分类和回归。YOLO的目的就是要追求速度。核心思想如何一步到位?最简单的就是图像网格化。如果某个object 的中心点落在这个网格,这个网格就负责预测这个object。如何预测呢?一个网格预测B个bbox, 每个bbox 预测本身的位置回归还要预测一个confidence值。

2021-08-17 08:38:43 981

原创 caffe ubuntu 安装报 google::protobuf 链接失败问题

报错问题:CXX/LD -o .build_release/tools/convert_imageset.bin.build_release/lib/libcaffe.so: undefined reference to google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long long, unsigned char*)' .build_release/lib/libcaffe.so: undefined re

2021-08-09 11:19:03 938

原创 YOLOV3详解

YOLOV3 是集成了 SSD(多尺度预测), FCN(全卷机),FPN(特征金字塔),DenseNet(特征通道concat) 网络的大成之作!YOLOV3 的主干网络backbone 称为 DarkNet, 主要有DarkNet-21 , DarkNet-53, 区别在于每层的 ResidualBlock 个数不同.yolo-v3 网络结构:1、DarkNet-53 搭建:darknet-53 由一个初始卷积层 + 5个Layer 层构成,进入layer层后进行下采样,大小减半,通道增倍。每个

2020-10-16 18:24:41 4258

原创 Torch模型权重初始化

初始化方法在 torch.nn.init 中实例化模型后,在模型init函数中初始化权重初始化函数: def initialize_weights(self): for m in self.modules(): if isinstance(m, nn.Conv2d): torch.nn.init.xavier_normal_(m.weight.data) if m.bias is not No.

2020-10-16 14:55:27 2664

原创 FasterRCNN详解

faster r-cnn 是第一个完全可微分的检测模型 。也就是从数据到模型输出的整条路径既可以 前行传播 forward ,也可以反向传播 backword 。是一个 end -to- end 模型。faster r-cnn 发展进程1. R-CNN :特点:候选区域 + 卷积特征提取 + (SVM)特征分类 和 边界回归候选区域:select serch 方法; 提取个数大约:1k...

2019-12-25 13:47:19 2850

原创 Pytorch 模型训练入门

定义是否使用GPU可有可无,默认为 cpudevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")训练数据:BATCH_SIZE = 64 :批处理尺寸,即一次处理图像的张数加载训练数据 : 以cifar10 为例trainset = torchvision.datasets.CIFAR10(root=...

2019-12-20 12:29:31 295

原创 ResNet解读和pytorch实现

为什么ResNet1 . 简单地增加卷积层导致梯度发散或梯度爆炸2. 残差网络可以消除这种现象ResNet 思想网络输出为 恒等映射 + 残差映射ResNet通过改变学习目标,即由学习完整的输出变为学习残差,解决了传统卷积在信息传递时存在的信息丢失核损耗问题,通过将输入直接绕道传递到输出,保护了信息的完整性。此外学习目标的简化也降低了学习难度。...

2019-12-19 22:21:44 1021

原创 Pytorch 模型保存

方式1 :保存整个模型使用时无需自定义网络模型,保存时已把网络结构保存,不方便调整网络结构。torch.save(modelname, 'model.pkl')model = torch.load('model.pkl')方式2:保存模型参数使用时需要自己定义网络,并且其中的参数名称与结构要与保存的模型中的一致(可以定义部分网络,比如只使用VGG的前几层),相对灵活,便于对网络进行修改...

2019-12-19 16:04:57 201

原创 用cupy实现python + cuda编程

1 . 编写核函数进行数据处理kernerl.py 文件kernel_img = '''extern "C"__global__ void medianfilter( const float *input, float *output, const int w...

2019-12-05 10:07:11 2659

原创 CUDA 图像编程

CUDA 图像编程一个 Grid 分成 按维度分成多个Block,个数为 GridDim.x * GridDim.y遍历: blockIdx.x , blockIdx.y一个Block 按维度分成多个Thread,个数为 BlockDim.x * BlockDim.yThread 是最小的运行单元遍历:threadIdx.x , threadIdx.y图像处理中,一个像素对应到一个...

2019-12-04 20:57:18 1454

ubuntu linux 钉钉7.6.0 版本

ubuntu linux 钉钉7.6.0 版本,防止更新最新版本带来截图上的问题

2025-02-26

tensorrt yolo系列 转trt模型plugin

tensorrt yolo系列 转trt模型plugin

2024-11-20

onnx 算子支持查看文档

onnx 文档, 查找onnx算子是否支持

2024-11-20

ONNX模型转 TensorRT logging.h

logging.h

2024-05-12

Zotero 安装包和插件

Zotero 安装包和插件

2024-02-01

中文汉字库,用于opencv 上图片显示中文

中文汉字库,用于opencv 上图片显示中文

2023-06-28

车牌识别训练测试字符集(全)

大约5万多张图片,包含中文省份,字母A-Z,数字0-9,全部。

2019-07-30

车牌识别数据集(全 省+数字+字母)

总共5万多张图片,大小20X20,包括省份简写,数字和字母,一个不缺。

2019-07-25

verilog数字钟源代码

(1)设计一个数码管实时显示时、分、秒的数字时钟(24小时显示模式); (2)可以调节小时,分钟。 (3)能够进行24小时和12小时的显示切换。 (4)可以设置任意时刻闹钟,并且有开关闹钟功能。 (5)有整点报时功能,几点钟LED灯闪亮几下。 (6)有复位按键,复位后时间从零开始计时,但闹钟设置时间不变。

2014-04-23

verilog数字钟,功能齐全

verilog 数字钟设计,功能齐全 (1)设计一个数码管实时显示时、分、秒的数字时钟(24小时显示模式); (2)可以调节小时,分钟。 (3)能够进行24小时和12小时的显示切换。 (4)可以设置任意时刻闹钟,并且有开关闹钟功能。 (5)有整点报时功能,几点钟LED灯闪亮几下。 (6)有复位按键,复位后时间从零开始计时,但闹钟设置时间不变。

2014-04-23

数字钟设计 完整文件

verilog设计完整的数字钟文件,下载到板子上直接可用

2013-03-26

空空如也

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

TA关注的人

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