自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 激活函数高频面试题集合

如果没有激活函数,那么模型就只有线性变换,可想而知线性模型能表达的空间是有限的。而激活函数引入了非线性因素,比线性模型拥有更大的模型空间。对于长序列的问题,隐藏层中尽量避免使用Sigmoid和Tanh,会造成梯度消失的问题;用于分类器时,二分类为Sigmoid,多分类为Softmax,这两类一般用于输出层;Relu在Gelu出现之前在大多数情况下比较通用,但也只能在隐层中使用;现在隐藏层中主要的选择肯定优先是Gelu、Swish了。最主要的是引入了非线性因素,可以提高模型的表达能力。

2023-04-14 18:43:49 549

原创 SmallObjectAugmentation(小目标数据增强)论文要点及代码实现

1.数据集中包含小物体的图片相对较少,这可能会使任何检测模型更倾向于关注中等和大型物体。2.小物体所占面积较小,意味着小物体位置的缺乏多样性。

2023-04-05 20:31:38 956

原创 SWA Object Detection随机权重平均【论文+代码】

您想在不增加推断成本和不改变检测器的情况下提高对象检测器的1.0 AP吗?让我们告诉您一个这样的秘方。这个秘方令人惊讶地简单:使用循环学习率训练您的检测器额外的12个epoches,然后将这12个checkpoints平均作为您的最终检测模型。这个强大的秘方受到随机权重平均(SWA)的启发,该方法在[1]中提出,用于改善深度神经网络的泛化能力。我们发现它在对象检测中也非常有效。在这个技术报告中,我们系统地研究了将SWA应用于对象检测以及实例分割的效果。

2023-03-23 18:10:07 350

原创 IOU计算代码及可视化效果

【代码】IOU计算代码及可视化效果。

2023-03-21 20:30:04 220

原创 锚框生成算法anchors

函数返回值是一个 (9, 4) 的 numpy 数组,表示共生成了九个不同尺寸的 anchor box,每个 box 包含四个坐标值 (x_min, y_min, x_max, y_max),这四个值分别代表框的左上角和右下角两个点的坐标。在目标检测中,anchor box 是预设的一些矩形框框,它们是用来覆盖图像中可能存在物体的区域。可以认为是对锚框做卷积的尺度步长,即每次缩小的倍数。遍历所有的 ratios 和 anchor_scales 组合,得到缩放后的 anchor box 尺寸。

2023-03-21 19:32:01 608

原创 自动驾驶论文研读CODA: A Real-World Road Corner Case Dataset for Object Detection in Autonomous Driving

当代深度学习目标检测方法通常假定固定的常见交通参与者类别,例如行人和汽车。大多数现有的检测器无法检测到不常见的对象和边角情况(例如,狗穿过街道),这可能会在某些情况下导致严重事故,使得可靠自动驾驶的实际应用时间不确定。妨碍真正可靠的自动驾驶系统发展的一个主要原因是缺乏公共数据集来评估在边角情况下的目标检测器性能。因此,我们介绍了一个名为CODA的具有挑战性的数据集,揭示了这个基于视觉的检测器的关键问题。

2023-03-20 15:51:05 501

原创 BN层(Batch Normalization)+LN层(Layer Normalization)高频面试题集合

梯度消失:在深度神经网络中,如果网络的激活输出很大,其对应的梯度就会很小,导致网络的学习速率就会很慢,假设网络中每层的学习梯度都小于最大值0.25,网络中有n层,因为链式求导的原因,第一层的梯度将会小于0.25的n次方,所以学习速率相对来说会变的很慢,而对于网络的最后一层只需要对自身求导一次,梯度就大,学习速率就会比较快,这就会造成在一个很深的网络中,浅层基本不学习,权值变化小,而后面几层网络一直学习,后面的网络基本可以表征整个网络,这样失去了深度的意义。因此,BN层的训练是非线性的。

2022-12-02 21:57:57 1581

原创 模型剪枝-Filter Pruning via Geometric Median for Deep Convolutional Networks Acceleration

背景介绍很明显,作者针对之前的filter剪枝进行调整,原有的方法只对L1-NORM值比较低的filter进行剪枝,现在可以看到对于Large norm和meidum norm的filter也进行了剪枝,而且没有将全部的small norm的filter进行剪枝。这是因为只对L1-NORM值比较低的filter进行剪枝有两个约束条件:1)权重的标准差足够大 2)权重的最小的L1-norm应该趋近于0这种情况下分布如图所示也有可能分布如图所示1)范数的标准差太小;2)最小范数的值仍然很大。如果

2021-12-15 13:06:18 1775

原创 模型压缩-Channel Pruning via Optimal Thresholding

背景通道剪枝通常使用预定义的全局阈值或从预定义的指标计算出的阈值来去除权重。基于预定义全局阈值的设计会忽略不同层和权重分布之间的差异,因此,它们经常可能由于过度剪枝或欠剪枝而导致性能欠佳。核心观点最优阈值(OT,Optimal Thresholding),每层剪枝使用不同的阈值。通过使用OT,保证精度的同时,可以有效减掉那些不重要的通道;...

2021-12-05 15:06:08 204

原创 模型剪枝-ICLR2019-RETHINKING THE VALUE OF NETWORK PRUNING

背景1.人们认为先训练大型、过度参数化的网络是很重要的,因为它提供了一个高性能模型(由于更强的表征和优化能力),这个高性能模型可以删除一系列冗余参数并且对于模型的精度没有明显损害。据报道,这通常优于直接从头开始训练较小的网络。2.被修剪的体系结构及其相关权重被认为是获得最终有效模型所必需的。因此,大多数现有的修剪技术选择微调修剪的模型而不是从头开始训练。修剪后保留的权重通常被认为是关键的。...

2021-12-04 17:47:26 672

原创 模型剪枝-ICLR2017-Pruning Filters for Efficient ConvNets

Filter 修剪由于CNN通常在不同的 Filter 和特征信道之间具有显着的冗余,论文中通过修剪 Filter 来减少CNN的计算成本。与在整个网络中修剪权重相比, Filter 修剪是一种自然结构化的修剪方法,不会引入稀疏性,因此不需要使用稀疏库或任何专用硬件。通过减少矩阵乘法的次数,修剪 Filter 的数量与加速度直接相关,这很容易针对目标加速进行调整。卷积核层面的模型剪枝本质方法。就是计算每一个filter上权重绝对值之和,去掉m个权重最小的filters,并同时去掉与其相关的特征图及下一

2021-12-01 14:32:44 2227 1

原创 模型剪枝-ICCV2017-ThiNet: A Filter Level Pruning Method

卷积核层面的模型剪枝本质方法。就是计算每一个filter上权重绝对值之和,去掉m个权重最小的filters,并同时去掉与其相关的特征图及下一层的所有相关的输入filters;筛选需要裁减的卷积核步骤为:1.对每个Filter,使用L1-Norm来计算每一个filter上权重绝对值之和;2.对所得权重之和进行排序,和大小反映了相关filter的重要性;3.选择前k个较大的权重之和保留,建立一个mask,大保留的部分为1,小于阈值的部分为0。cfg_mask = []layer_id = 0 #

2021-11-29 22:26:51 557

原创 模型剪枝-ICCV2017-Learning Efficient Convolutional Networks through Network Slimming

方案目标1)减小模型大小; 2)减少运行时内存占用; 3)在不影响准确率的情况下降低计算操作的数量。方案实现通过在网络中进行通道层次稀疏来实现CNN部署限制1)模型大小:CNN的强大表现力来自其数百万可训练参数。这些参数以及网络结构信息需要存储在磁盘上并在推理期间加载到内存中。例如,存储一个ImageNet上训练的典型CNN会占用超过300MB的空间,这对嵌入式设备来说是一个很大的资源负担。 2)运行时内存(占用情况):在推理期间,即使批量大小为1,CNN的中间激活/响应占用的内存空间甚至可以比存

2021-11-28 20:44:57 1538

原创 卡尔曼滤波——多目标追踪代码实现详解

import numpy as npimport scipy.linalg"""Table for the 0.95 quantile of the chi-square distribution with N degrees offreedom (contains values for N=1, ..., 9). Taken from MATLAB/Octave's chi2invfunction and used as Mahalanobis gating threshold."""chi

2021-11-26 20:39:52 3580 4

原创 卡尔曼滤波推导过程及详解(Kalman filtering)

这里写目录标题数理基础协方差矩阵数理基础协方差矩阵

2021-11-23 15:35:32 816

原创 ByteTrack翻译与解读

这里写目录标题AbstactIntroduction论文地址:https://arxiv.org/abs/2110.06864代码地址:github.com/ifzhang/ByteTrackAbstact多目标跟踪 (MOT) 旨在视频中预测目标的bounding boxes和identities。大多数的方法通过关联一些得分高于阈值的检测框来得出identities,那些得分比较低的目标(比如被遮挡的物体),就被简单的过滤掉了,这样的话会造成一些真正的目标的丢失以及错误的预测轨迹。为了解决这个问

2021-11-18 21:22:26 1172

原创 图像去重/图像相似度评估

pip install imagededupfrom imagededup.methods import PHashfrom imagededup.utils import plot_duplicatesphasher = PHash()# Generate encodings for all images in an image directoryencodings = phasher.encode_images(image_dir='/media/liuyanxin/7bb102f1-967

2021-11-05 19:30:21 381

原创 将数据集中的标注部分单独保存(DOTA数据集)

import mmcvimport cv2import osimport jsonimport numpy as npfrom tqdm import tqdmimg_dir="/media/liuyanxin/7bb102f1-967f-40cb-8069-704229851f24/heaven/tianzhi_saidao2_train_dataset/Tianzhi/train/images"save_dir="/media/liuyanxin/7bb102f1-967f-40cb-80

2021-10-18 14:39:12 150

原创 x_center,y_center,width,height格式转DOTA格式

import ospath_name="/media/liuyanxin/7bb102f1-967f-40cb-8069-704229851f24/heaven/tianzhi_2_pretrain/"filenames = os.listdir(path_name+'ship_dataset_v0')save_path="/media/liuyanxin/7bb102f1-967f-40cb-8069-704229851f24/heaven/tianzhi_2_pretrain/labels/"f

2021-09-20 12:13:27 299 3

原创 lyx的快乐的密室逃脱汇总记录(严重剧透+长期更新)

1.大连悟语密室逃脱——悬崖上的旅店评分:8.5/10整体来说是非常不错的(毕竟是EGA获奖主题),2.大连逸轩密室——铜镜3.大连逸轩密室——破碎记忆4.大连长藤鬼校5.大连梦想先生——逆转未来6.大连美国队长——邪灵娃娃7.大连神盾局科技密室——威廉城堡8.大连幻异工厂——直播live9.大连幻异工厂——完美人偶10.大连喵侦探——人肉叉烧包11.大连喵侦探——灵魂当铺12.大连谜语巷——VV记13.大连谜语巷——一天零一夜14.大连轩辕空间——亚特兰蒂斯15.大连轩辕空

2021-08-13 22:53:03 3315

原创 Tensorrt简明教程第二期(在jetson上进行部署)

这里写自定义目录标题首先转onnx和openvino修改xx.py里面的内容(xx=几)首先转onnx和openvino系统会自动调用/project/ev_sdk/model/convert_openvino.sh内容写为#!/bin/bash# Root directory of the script#!/bin/bash# Root directory of the scriptpython /project/LYXXX/export.py --weights '/proje

2021-07-29 16:49:43 878

原创 极市平台比赛主体流程

YOLOV5环境安装创建虚拟环境conda create -n yolov5 python=3.7激活环境后git clone https://github.com/ultralytics/yolov5cd yolov5pip install -r requirements.txt数据处理# -*- coding: utf-8 -*-# -*- coding: utf-8 -*-import xml.etree.ElementTree as ETfrom tqdm impo

2021-07-24 20:32:42 280 1

原创 Fast-RCNN

FAST-RCNN git地址这里写目录标题RCNN概述fast RCNN的改进之处总体框图特征提取网络RCNN概述简单来说,RCNN使用以下四步实现目标检测:a. 在图像中确定约1000-2000个候选框b. 对于每个候选框内图像块,使用深度网络提取特征c. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类d. 对于属于某一特征的候选框,用回归器进一步调整其位置fast RCNN的改进之处Fast RCNN方法解决了RCNN方法三个问题:问题一:测试时速度慢RCNN一张图像内

2020-10-14 11:14:26 115

原创 Object Detection Network———Rcnn(Rich feature hierarchies for accurate oject detection and semantic )

概述本篇论文的题目是 《Rich feature hierarchies for accurate oject detection and semantic segmentation》,翻译过来就是针对高准确度的目标检测与语义分割的多特征层级,通俗地来讲就是一个用来做目标检测和语义分割的神经网络。这篇论文也带来了一个观点,那就是当你缺乏大量的标注数据时,比较好的可行的手段是,进行神经网络的迁移学习,采用在其他大型数据集训练过后的神经网络,然后在小规模特定的数据集中进行 fine-tune 微调。目标检

2020-09-25 11:02:08 138

原创 CVPR2017 oral———DenseNet分析(Densely Connected Convolutional Networks)

相对于ResNet及Inception的变化众所周知,最近一两年卷积神经网络提高效果的方向,要么深(比如ResNet,解决了网络深时候的梯度消失问题)要么宽(比如GoogleNet的Inception),而作者则是从feature入手,通过对feature的极致利用达到更好的效果和更少的参数。DenseNet优点1、减轻了vanishing-gradient(梯度消失)2、加强了feature的传递3、更有效地利用了feature4、一定程度上较少了参数数量5、网络更窄参数更少关键思想在深

2020-09-22 11:21:45 152

原创 深度残差学习的图像识别———ResNet

背景介绍问题提出:学些更好的网络是否等同于堆叠更多的层呢?答案是否定的,等同于堆叠更多的层呢?回答这个问题的一个障碍是梯度消失/爆炸。当更深的网络能够开始收敛时,暴露了一个退化问题:随着网络深度的增加,准确率达到饱和(这可能并不奇怪),然后迅速下降。 意外的是,这种下降不是由过拟合引起的,并且在适当的深度模型上添加更多的层会导致更高的训练误差。层数过深的平原网络具有更高的训练误差 较高分辨率空间一个较深的网络模型不应当具有较高的训练误差通过构建形成的分辨率:原始层:由一个已经学会的

2020-09-22 10:37:47 632

原创 CNN 经典模型——GoogleNet从入门到入门

主要目标1.提出了一种名为 Inception 的网络结构2.这种结构解决了计算机硬件和稀疏结构之间的矛盾相关工作卷积神经网络(CNN)大多都用了类似于LeNet-5的标准结构,即堆叠几个卷积层,之后是池化层,最后再连接一个或多个全连接层。 下面的文章解决了maxpooling导致的空间信息丢失问题。A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural n

2020-09-22 08:58:33 200

原创 深度卷积神经网络VGGNET

VGG by lyxVGG是什么VGGNet由牛津大学计算机视觉组合和Google DeepMind公司研究员一起研发的深度卷积神经网络。它探索了卷积神经网络的深度和其性能之间的关系,通过反复的堆叠33的小型卷积核和22的最大池化层,成功的构建了16~19层深的卷积神经网络。VGGNet获得了ILSVRC 2014年比赛的亚军和定位项目的冠军,在top5上的错误率为7.5%。目前为止,VGGNet依然被用来提取图像的特征。站在AlexNet的肩膀上VGG16相比AlexNet的一个改进是采用连续的几

2020-09-21 18:53:04 999

原创 卷积神经网络典型应用———AlexNet

AlexNet by lyx一 AlexNet简介二 AlexNet结构关键:采用dropout的正则化方法来减少全连接层过拟合三 Alex结构详尽分析COV1!!!输入:卷积:激活函数降采样操作pool1(池化操作)COV2!!!输入:卷积:激活函数降采样操作pool2(池化操作)COV3!!!COV4!!!COV5!!!FC6!!!FC7!!!FC8!!!四 why relu???五 代码实现gkd六 论文中提及的多GPU七 如何理解dropout?一 AlexNet简介AlexNet卷积神经网络

2020-09-17 19:43:14 4493 2

原创 CNN基础从入门到放弃

一.基本重要概念一.1局部感受野(local receptive fields)以minst数据集为例,图示为28x28的像素点。在CNN中我们只用部分像素点与隐藏层进行连接而不是全部像素点(否则就是全连接深度神经网络(DNN)了)像这种局部区域就被称为局部感受野。如上两图所示,局部感受野在不断的移动直至扫描完整个区域,而伴随着每次移动,都有一个隐藏层的节点与之对应,以此类推即可得到第一个隐藏层。注意到我们的数据为28*28的,而窗口大小为5x5,所以怎么求隐藏层的节点个数呢?答案是:28-

2020-09-17 17:49:32 195

原创 飞桨深度学习学院Python小白逆袭大神结营心得

有幸参与并完成了这次的飞桨深度学习学院Python小白逆袭大神7日营,对于一个python小白,这个课程的内容可谓是相当之丰富,从最开始的python基础课,到之后结合《青春有你2》进行讲授的爬虫操作,我学习了《青春有你2》选手图片爬取,《青春有你2》选手个人信息的基本分析操作,包括选手来自地区分类,利用选手体重信息绘制饼图,之后进行了深度学习的部分课程,此处让人耳目一新,眼前一亮的是paddle...

2020-04-28 11:15:59 165

原创 软件工程——软件测试

软件测试概念定义:测试是为了发现程序中的错误而执行程序的过程。目的:(1) 测试是程序的执行过程,目的在于发现错误;(2) 一个好的测试用例在于能发现至今未发现的错误;(3) 一个成功的测试是发现了至今未发现的错误的测试。注:测试永远不能证明程序是正确的。原则;应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。测试用例应由测试输入数据和对应的预期输出结果这两部分组成...

2020-04-01 11:23:45 1522 2

原创 计算机图形学实战——Bresenham八分法画圆

Bresenham算法完成八分法画圆采用递推的方法:void Bresenham_drawcircle(GLint R) { //默认原点是0,0 bresenham算法画圆 GLint x = 0; GLint y = R; GLint d = 3 - 2 * R; glBegin(GL_POINTS); glPointSize(pointsize); while (x &...

2020-03-31 20:05:48 5345

原创 计算机图形学实战——Bresenham直线光栅化算法绘制旋转线

#include <GL/glut.h> #include<iostream>#include<math.h>using namespace std;GLfloat pointsize = 1.0f;void init(void){ glClearColor(0.0, 0.0, 0.0, 0.0);//设置背景颜色为黑色 glShadeMo...

2020-03-30 15:53:31 907 2

原创 计算机图形学初探——Bresenham直线光栅化算法绘制一条直线(详细版)

开发和运行环境开发和运行环境为visual studio。使用OpenGL开放式图形库,使用的头文件为#include <GL/glut.h>。算法的设计思想和实现技术使用实现Bresenham直线光栅化算法,在此对该算法的原理进行阐述。算法原理:假定直线的斜率k在0~1之间。此时,只需考虑x方向每次递增1个单位,决定y方向每次递增0或1。设直线的当前点为(xi,y),对应的...

2020-03-29 19:42:28 4237

原创 leetcode 234回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-linked-list著作权归领...

2020-01-13 11:34:25 70

原创 leetcode 237删除链表中的节点

leetcode 237删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 ->...

2020-01-13 10:54:49 59

原创 面向对象编程作业2

设计一个类,用于对字符串进行管理。要求:(1)在定义对象时,能够确定字符串的最大长度并清空字符串。(2)定义成员函数input, 用于从键盘为字符串输入数据。(3)定义运算符重载函数,用于判断两个对象中的字符串是否相同。(4)定义成员函数exchange,用于互换字符串中ASCII码最大和最小的字符(需考虑字符串中存在多个最大和最小字符的情况)。(5)定义成员函数disp,用于显示字符串...

2019-11-01 08:38:51 130

原创 面向对象编程上机作业

从键盘输入R行C列二维整型数组,找出每一行的次最大值并显示出来。要求:(1)R和C为符号常量;(2)二维数组是动态申请生成的;(3)每一行的次最大值是利用单独的函数调用获得的;(4)对数组元素的访问以及函数参数声明等都是利用指针实现的。#include<iostream>using namespace std; void find_second(int**a, int...

2019-11-01 08:38:44 200

原创 c++上机4

/*定义一个类,用于对10个字符串进行管理。要求:(1)在定义对象时,能够为字符串清空;(2)定义变换构造函数,能够为字符串赋以给定的字符串;(3)定义复制构造函数;(4)定义成员函数,能够为字符串输入数据;(5)定义成员函数,能够将字符串显示出来;(6)定义成员函数,用于找出每个字符串中的最小值(ASCII码最小的字符)及其个数,最小值由函数值返回,个数由参数带回;(...

2019-11-01 08:38:28 82

空空如也

空空如也

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

TA关注的人

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