自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (6)
  • 收藏
  • 关注

原创 MIxformerV2的onnx和tensorrt加速

主要是针对目标跟踪算法MixformerV2的工程化应用,进行了onnx加速和tensorrt加速。

2023-10-26 17:26:00 278 1

原创 COCO2017数据集下载

COCO2017数据集下载

2022-11-07 10:13:56 555 1

原创 D435i相机标定

包含d435i的相机标定和与IMU的联合标定

2022-11-03 16:55:21 1039

原创 C++中的简单并发

文章目录并行与并发C++11中的并行和并发实现并行与并发首先,并行表示多个任务同时执行,即多个任务处理单元可以同时处理多个任务;并发则表示两个任务交替执行,以达到看似并行的目的,即不用等待上一个任务执行完再执行下一个任务;C++11中的并行和并发实现C++11中主要通过线程的方式作为并发编程的基础,需要包含thread头文件;可通通过get_id获得线程的Id;使用join加入一个线程;在并发编程时,为了能够保持对内存某块区域操作的独占性,需要对该操作设置锁机制。C++11对临界区的保护

2021-10-24 17:56:21 692

原创 cuda编程基础

文章目录第一章第二章第三章3.1 and 3.23.3 查询设备第四章第五章 线程协作第六章 常量内存与事件第一章用途:加速三维成像,计算流体力学,分子模拟计算等等,这些应用场景大都需要进行大量的科学计算,GPU的强大并行计算的能力使得其能够完成这些超大量的计算任务,为任务缩短计算时间,降低计算代价;第二章首先需要安装cuda toolkit,添加环境变量;其次,vs创建工程,并在项目中加入cuda的bin,inlcude和lib;编写.cu代码,需要以__global__开头,并且使用e

2021-10-09 20:53:17 186

原创 Adam如何自适应学习率的?

Adam是如何做到自适应学习率的?优化算法统一公式待优化参数:wtw_twt​​;优化目标:f(wt)f(w_t)f(wt​);当前参数梯度:gt=∇f(wt)g_t=\nabla{f(w_t)}gt​=∇f(wt​);一阶动量和二阶动量:ηt=α⋅mt/vt\eta_t=\alpha· m_t/\sqrt{v_t}ηt​=α⋅mt​/vt​​​;统一的更新公式为:wt+1=wt−ηtw_{t+1}=w_t-\eta_twt+1​=wt​−ηt​;​​Adam时如何自适应调整学习率

2021-10-09 20:39:44 4888

原创 Accurate 3D Object Detection using Energy-Based Models

问题3DOD的任务是在所给顶的感知数据上估计出包围目标的3D框,大致分为两个子任务:将给定的候选3D框中将目标进行分类,然后回归出该目标的bbox;如何在复杂环境下使用激光雷达数据对3D bbox进行准确回归;3DOD中基于概率密度回归的bbox回归方法在推理时需要使用梯度上升最大化p(y∣x;θ)p(y|x;\theta)p(y∣x;θ),要求DNN的标量输出fθ(x,y)f_\theta(x,y)fθ​(x,y)对bbox yyy​​是可微的,但当前方法无法满足可微这一条件;解决方案使用

2021-09-14 22:07:33 242

原创 cmake之如何构建环境

构建环境检测操作系统在不同的操作系统上,CMake需要根据操作系统启用条件编译,就需要检测当前的操作系统;进行操作系统匹配的变量为CMAKE_SYSTEM_NAME,该名称为CMAKE为操作系统定义的,使用if的条件语句可以进行操作系统的匹配,如下if(CMAKE_SYSTEM_NAME STREQUAL "Linux") message(STATUS "Configuring on/for Linux")endif()唯一需要注意的是,操作系统有不同的名称,如macOS对应“D

2021-09-10 17:29:59 467

原创 2021-09-08 cmake之从可执行文件到库

cmake之从可执行文件到库从可执行文件到库从可执行文件到库一些基础的注意事项# set minimum cmake version 项目构建的开始需要设置最小的cmake版本,并定义不满足这一要求时的cmake行为cmake_minimum_required(VERSION 3.5 FATAL_ERROR)# project name and language 项目名称和支持的编程语言project(recipe-01 LANGUAGES CXX)# 编译和链接源文件hell0-wor

2021-09-08 16:13:32 153

原创 High-Performance Long-Term Tracking with Meta-Updater 阅读

**High-Performance Long-Term Tracking with Meta-Updater**问题方案实现问题长时跟踪没有利用在线更新的优势;引入在线更新到长时跟踪很危险,因为长时跟踪存在长时的不确定性和噪声观测;方案引入Meta-Updater解决上述问题;判断在当前帧跟踪时,跟踪器是否准备更新,由此过滤长时跟踪中的噪声样本,使用更加准确的样本进行更新;实现整体框架其中,local tracker为短时的局部跟踪器,此处使用ATOM。局部跟踪结果得到之后

2021-08-31 22:08:32 289

原创 YOLOX阅读

YOLOx问题从YOLOv2开始,yolo一直使用基于anchor的方法。但近几年基于anchor-free、标签分配策略、端到端(NMS-free)检测技术并没有整合到YOLO中,包含yolov4和v5;方案以YOLOV3-SPP为baseline,因为v4和v5都是基于anchor做的改进。训练策略微小改动,添加了EMA权重更新、余弦学习率训练方案、IOU loss、IOU-aware分支。使用BD=CE用于训练分类和obj分支,IOU loss训练回归分支,只使用RandomHorizo

2021-08-25 16:22:00 411

原创 You only look once (YOLO) V4

You only look once (YOLO) V4目的:提高神经网络在生产系统中的速度和优化并行计算;网络模型的选择: CSPResNext50在ImageNet上的分类效果比CSPDarknet53好,CSPDarknet53在COCO上的检测效果比CSPResNext50好;选择额外的模块增强感受野和参数聚合方法:相比于分类,检测算法要求:(1)更高的输入分辨率,以检测到多个小尺寸的目标;(2)更多的层,以覆盖高分辨率的输入;(3)更多的参数:增强在单幅图像中检测多个不同..

2021-08-18 17:48:48 120

原创 You only look once (YOLO) V3

You only look once (YOLO) V3相比于yolov2的不同v3使用逻辑回归为每个bbox预测一个objectness score,如果一个先验框与ground truth 有重叠并且大于其他任意一个先验框与gt的重叠,则objectness score应该为1。如果一个先验框和gt重叠并超过一定阈值,但却并不是最佳的,则v3中忽略该预测,即不认为其中含有目标(在众多的先验框中,和某一个gt框进行重叠计算,只取给具有最佳重叠的那个先验框分配objectness为1,即将该先验框

2021-08-18 17:48:11 191

原创 You only look once (YOLO)V2

You only look once (YOLO)V2yolov1中的召回率和定位精度比较低。v2的目标是在维持分类准确率的同时,主要改善recall和localization;在每层卷积测后面添加BN层,帮助正则化该模型,同时移除dropout;v1使用224×224224\times 224224×224的图像用于训练分类网络,使用448×448448\times 448448×448的图像用于训练检测模型。v2中,将分类网络放到448×448448\times448448×448的ImageN

2021-08-18 17:47:06 118

原创 Generating Masks from Boxes by Mining Spatio-Temporal Consistencies in Videos

Generating Masks from Boxes by Mining Spatio-Temporal Consistencies in VideosGenerating Masks from Boxes by Mining Spatio-Temporal Consistencies in Videos问题方案实现Generating Masks from Boxes by Mining Spatio-Temporal Consistencies in Videos问题如何使用现有的bbox标注

2021-08-18 17:40:56 239

原创 SVM

svmsvm和逻辑回归一样,也是用来学习得到一个决策边界(decision bundary)的,只不过在某些情况下比逻辑回归更加有效。1.引子-逻辑回归hθ(x)=11+exp(−θTX)hθ(x)=11+exp⁡(−θTX)h_{\theta}(x) = \frac{1}{1+\exp(-\theta^TX)} 对于该假设: - if y = 1,then hθ(x)=1h...

2021-05-12 21:35:26 63

原创 MOSSE

加粗样式在这里插入图片描述

2021-03-15 12:50:33 64

原创 ATOM:Accurate Trackingby Overlap Maximization

2021-03-15 12:46:11 129

原创 位图切割中的对应位平面上值的计算

2019-04-27 15:38:24 526

原创 感知机

感知机感知机介绍错误分类样本到超平面的距离损失函数的定义收敛性证明感知机算法感知机算法的对偶形式感知机介绍感知机是一种线性二分类器。与一般的模型一样,具有输入T=(x1,y1),...,(xN,yN)T = {(x_1, y_1), ..., (x_N, y_N)}T=(x1​,y1​),...,(xN​,yN​)(其中,(xi,yi)(x_i, y_i)(xi​,yi​)是一个样本)、输出w...

2019-02-08 16:48:39 120

原创 决策树

决策树1.概念决策树(decision tree)是一种机器学习方法,通过对给定训练集的学习得到一棵树状的模型,以此来对新的样本进行预测分类。树中的结点在学习过程中进行了划分,划分是用某一属性进行的,某结点划分后的分支是该划分属性的一个取值(离散)或一段取值(连续),需要注意的是,用来进行划分的属性需要经过一定的选择,来使得划分后所获得的“纯度提升”最大。在训练过程中,也需要注意过拟合...

2018-08-29 14:06:21 123

原创 对率回归的实验

对数几率回归在python中的实现在做分类任务时,需要找一个单调可微函数将分类任务的真实标记y与线性回归模型所预测的值联系起来。对数几率函数是用来“替代”单位跃阶函数的,满足单调可微的条件。以下是对数几率函数:y=1/(1+e−z)y=1/(1+e−z)y=1/{(1+e^{-z})},其中z=wTx+bz=wTx+bz= w^Tx+b。对其进行取对数,得到ln(y/(1−y))=wTx+bl...

2018-08-27 16:27:51 2291 1

原创 caffe中用自己的数据训练网络之生成lmdb数据库

在编译好的caffe中,其tools/Release下有一个convert_imageset.exe的文件,其是用来将自己准备的图像数据集进行转化的。在convert_imageset.exe所在的文件夹下执行convert_imageset命令会发现有这样的结果: 由此可见,该命令的使用格式为:convert_imageset [FLAGS] rootfolder/ ...

2018-04-16 16:27:08 349

原创 caffe中使用自己的数据训练网络之数据的划分

现假设我们得到了一批已经分好类的数据,但是这些数据却没有做划分,即没有分为:training set/dev set/test set,现在,我们将得到的数据做training和dev的划分。现假设我们对于training和dev的划分为3:1,则:# -*- coding: utf-8 -*-"""Created on Sun Apr 15 22:37:28 2018@autho...

2018-04-16 15:37:13 154

原创 caffe中使用训练好的模型进行图像识别

# -*- coding: utf-8 -*-"""Created on Fri Apr 6 09:33:13 2018@author: Daniel"""import caffe import numpy as npimport PILfrom PIL import Imageimport matplotlib.pyplot as pltimport osimport...

2018-04-09 13:36:30 2599

原创 大端到小端的转换

假设要转换的数的32位的十六进制格式为:0X12345678大端模式:地址 4000 4001 4002 4003 数据 0x12 0x34 0x56 0x78转换为小端模式为:地址 4000 4001 4002 4003 数据 0x78 0x56 0x34 0x12转换方式有很多,总的来说,就...

2018-03-12 20:28:33 9253 1

原创 C++中的数组

数组维度首先,数组是一种符合类型,声明如a[d],d是维度,维度必须是是一个常量表达式。Int a[] = {1,2,3}; Int I = 1; a[i] = 2;//错误,因为i是变量; Constexpr size_t I = 1; a[i] = 2;//正确,i是常量begin和end在数组中的使用数组和vector类似,都有begin...

2018-03-12 20:24:13 2072

原创 caffe框架中Blob细则

Blob是一个类模板,封装了SyncedMemory类,作为基本计算单元服务Layer,Net,Solver等。使用同步时必须#include”caffe/syncedmem.hpp”。//Blob中的shape_string()函数 inline string shape_string() const{//使用const的函数,使得传入的this是const的,所以不能对数据成员...

2018-03-12 20:18:11 212

原创 Blob的基本用法

Blob简介 在caffe中Blob相当于tensorflow的tensor,即张量,是caffe框架中数据流的基本存储单位,caffe中关于数据的运算和存储都是基于Blob进行的。Blob的使用 Blob是一个模板类,在创建对象时需要制定模板参数,例如:Blob<float> a;//声明一个Blob对象a cout<<"Size: "...

2018-03-12 20:13:04 9772

原创 protobuf的使用

在使用protobuf定义数据结构之前,首先使用:syntax = “proto2”或”proto3”来定义protobuf的版本。此处使用protobuf2作为说明,protobuf3y与protobuf2有一些不同,取消了一些关键字的使用,详细见https://developers.google.com/protocol-buffers/docs/cpptutorial定义数据结构之前,使...

2018-03-12 20:08:46 176

原创 caffe中的卷积实现

在caffeine中,作者并没有按照传统的卷积方式来实现卷积,而是按照matlab中的方法imcol来实现卷积的。具体实现方式如下: 按照caffe中做一次前向传播时卷积层的计算量方法得出: Calculation(MAC) = I*J*M*N*K*L I*J表示卷积核的大小,M*N表示输出特征图的大小,K表示输入通道,L表示输出通道。所以,由以上参数得:对于输入和输出分别为K和...

2018-03-08 17:28:45 1213

原创 深入探讨构造函数

1.类的成员的初始化和赋值之间的差异在类的构造函数如果对类的成员使用了初始值列表,则是对这些成员实行了初始化,在这之前,类还未为这些成员初始化;如果在构造函数的函数体内对成员进行赋值,则是对成员进行了赋值,在这之前,类已为这些成员进行了初始化。如下:Sales_data::Sales_data(const string &s,unsigned cnt,double price)...

2018-02-10 21:09:58 146

原创 常函数及其由来

1. this铺垫首先,我们先要了解在c++中的面向对象编程中,当我们调用成员函数时,实际上实在替某个对象调用它。若果mem_function指向对象中的某个成员,则它隐式地指向调用该函数的对象的成员。成员函数通过名为this的额外的隐式参数来访问调用它的那个对象。当我们调用一个成员函数时,用请求该函数的对象地址初始化this。编译器负责把对象的地址传递给成员函数的隐式参数this,可以等

2018-01-13 23:05:33 394

原创 迭代器的使用

**在c++中,有的类型存在迭代器,利用迭代器可以对对象进行间接访问,像指针一样。 迭代器有有效和无效之分,有效的迭代器只想容器的元素或尾元素的下一位置。 有迭代器的类型同时拥有返回迭代器的成员,比如begin和end成员。begin成员返回的容器第一个位置的元素,end成员返回的是容器尾元素的下一个位置。尾后迭代器end是一个不存在的元素,本身无任何含义,但是仅仅是个标记而已。如果容器为空,

2018-01-08 00:17:29 315

原创 C++中的static深度剖析

C++中的staticstatic的作用 在C语言中,static的作用有两个: 一是使得static声明的变量只能在当前文件中被访问,即当其他的文件中想通过像使用全局变量一样(如:extern int i;)使用static声明的变量时,就会在link的时候出错。其功能就相当于使得该文件中static声明的变量隐藏于该文件中而不被其他文件所发现。 其第二个作用是使得s

2017-09-28 00:45:44 225

原创 为什么要使用拷贝构造?

先构造这样的代码:static int objectCount = 0;class HowMany {public: HowMany(){objectCount++;print("HowMany()");} //HowMany(const HowMany& o){objectCount++;print("HowMany(const HowMany&)");} HowMan

2017-09-27 00:54:15 485

原创 再说引用

函数的参数传引用、指针、值的本质区别和不同参数传入引用时,实际上是一个标签化的过程,一般需要传入的是一个变量,即可以作为左值的东西。有这样一种解释:在数值(注意数值和变量的区别)传入的过程中,会先将参数赋值给一个const 类型的变量,然后再由该变量将值传给函数中的参数。这样一来,如果函数的参数类型不是const的,则会发生错误,因为const的变量不允许赋给非const的变量。假设有这样一个函数的

2017-09-23 01:30:03 165

原创 windows10下的caffe框架的编译

Caffe框架window上编译 本次主要是在windows10++vs2015+python3.5+cuda8.0下安装caffe框架,默认已经安装好了以上的软件。(一定要先安装好这些软件,如:python不在这之前安装,编译时就会发生找到不匹配的python版本或找不到python,该添加到环境变量的就要添加到环境变量)。

2017-09-19 02:03:51 925

原创 const的普通用法及其在对象中的使用

const的普通用法 在C++中,常数在编译时是放在代码段的,所以与其他的变量不同,常数是要在编译器做编译时就要知道值的。比如说: const int bufsize;//这是错误的写法。因为在编译时编译器不知道其值,所以正确的写法是在声明时就要赋值。 如果在其他的文件中含有一个叫做bufsize的变量,那么在当前的文件中做了这样的事情:extern const int bufsize;//这

2017-09-19 01:44:22 500

原创 引用的使用及其本质

引用的本质: 在C++中,为了避免像指针一样去访问某个变量,引入了引用这一类型。实际上,虽然确实在使用上没有了指针的复杂性,但是引用的本质实际上就是通过const指针实现的。所以,可以从这两个方面来理解引用: ü 引用是一个左值的标签,引用就代表着所引用的那个变量。可以通过引用改变所代表的那个变量的值。如: Int x = 10; Int &

2017-09-19 01:31:29 472

windows下caffe安装教程

对于caffe新手而言,不熟caffe可能是个问题,帮同事搭建过好几次,将大概步骤写下来,放到网上,希望对你们有用。本教程在win10下安装,所有对应的软件需自己装好并测试通过,否则不易成功。

2018-10-21

iris数据集

该数据集是UCI上的数据集的文本形式的一个整理,整理后的形式为exel表

2018-08-30

西瓜3.0excel版的数据

该数据是基于周志华的《机器学习》中数据自己制作的数据。

2018-08-27

java学习笔记更新

java学习笔记更新

2016-04-14

java学习笔记

该文档主要是我在学习java是的一些笔记和随想,希望对大家有用。

2016-04-03

空空如也

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

TA关注的人

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