自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【三重对抗学习行人重识别】Triple Adversarial Learning and Multi-View Imaginative Reasoning

思路及创新点提出了一种用于 UDA person re-ID 的三重对抗学习和多视角想象推理网络(TAL-MIRN),它由一个多视角想象推理模块(IRM)和一个三重对抗学习模块(TALM)组成。IRM

2022-05-13 20:14:06 764

原创 【实例间对比】ICE: Inter-instance Contrastive Encoding for Unsupervised Person Re-identification论文笔记

思路及创新点提出了实例间对比编码(ICE),它利用实例间成对相似度分数来提升效果。使用成对相似度排序作为难样本实例对比的one-hot难伪标签,旨在减少类内方差。然后,使用相似度分数作为软伪标签来增强数据增强后的视图和原始视图之间的一致性,这使得模型对增强扰动更加鲁棒。上图中online encoder是传统的神经网络,momentum encoder与MoCo类似,通过online encoder的累积权重进行更新。总损失为:For a camera-agnostic memory集群 a

2022-04-05 22:17:20 796

原创 【实例级时空行人重识别】Learning Instance-level Spatial-Temporal Patterns for Person Re-identification阅读笔记

思想及创新点使用了空间模型、时间模型以及视觉特征提取三种信息来进行行人重识别。与从前的Spatial-Temporal Person Re-Identification论文相比多使用了行人行走的方向信息。

2022-01-19 16:23:02 2735

原创 【多模态行人重识别】Spatial-Temporal Person Re-Identification

思路与创新点一种多模态的行人重识别,同时使用了时空信息以及传统的图片语义信息。网络结构:视觉模型ResNet50+PCB时空模型首先估算一个粗糙的时空直方图,之后使用Parzen窗口方法对其进行平滑。时空直方图计算方法:其中k为直方图的bin,下图是对bin的解释:Parzen Window method:对直方图进行平滑操作...

2022-01-18 14:03:26 2936

原创 TransReID: Transformer-based Object Re-Identification论文笔记

Abstract做的两件事:提出jigsaw patch module (JPM) ,有助于更鲁棒特征表达的学习;提出side information embeddings (SIE),通过插入可学习的嵌入来合并这些非视觉线索,从而减少对相机/视图变化的特征偏差。是第一个使用纯transformer的工作。Introduction回顾CNN方法发现了两个问题。1.在全局范围内利用这些丰富的结构模式对于ReID至关重要。但由于有效感受野的高斯分布,基于CNN的方法主要集中在小的辨别区域。2

2021-10-13 10:08:58 529 1

原创 Lifelong Person Re-Identification via Adaptive Knowledge Accumulation论文笔记

Lifelong Person Re-Identification via Adaptive Knowledge AccumulationAbstract提出LReID,设计了Adaptive Knowledge Accumulation框架:知识表示和知识操作能力。相比于其他竞争对手的性能好5.8%mAPIntroduction目前的深度学习方法训练过程收到固定数据集的严重限制,为了克服,提出了终生学习的方法。与传统的终生学习不同,1.LReID进一步考虑在未学习过域上的泛化能力。2.其次,LRe

2021-10-07 14:03:25 271

原创 行人重识别 度量学习

度量学习首先将图片转化为特征空间,也就是特征提取。之后将两个特征向量用度量函数计算距离。通过度量函数的损失,来优化f(x)的参数,使得相同行人的距离尽可能小,不同行人尽可能大。...

2021-10-03 00:45:34 274

原创 行人重识别评价指标rank-k,CMC,mAP

行人重识别中常用算法:rank-k,CMC,mAPrank-k图中左侧为query,右侧为gallery,从右侧检索左侧的数据。圆圈代表正确的答案,x代表错误的答案。第一行第一列有圆圈代表rank1击中,第二行代表rank4击中,以此类推。五个样本中有两个rank1击中,因此Rank-1概率为2/5,五个样本中,前五位有击中的有三个,因此概率为3/5。CMCCMC可以看作是rank-k的集合,将rank-k画成一条曲线。mAPrank-k的缺陷在于只考虑了第一次命中的概率,然而很多时候实际

2021-10-01 19:28:40 4696

原创 SEnet论文笔记及代码

总体介绍:SEnet的主要思想是在图片的通道中加入注意力机制,提出了一种可应用于多种网络结构的Squeeze-and-Exitation结构(SE block)。Squeeze and Excitation Blocks如图所示,输入矩阵X通过卷积神经网络转化为矩阵U,再使用全局平均池化将矩阵压缩为1x1xchannel的矩阵,相当于提取了每一个通道的全局特征,通道上的实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可

2021-09-26 20:47:03 501

原创 pytorch centerloss代码注释

代码是网上找的,运行出来效果不错class CenterLoss(nn.Module): """Center loss. Reference: Wen et al. A Discriminative Feature Learning Approach for Deep Face Recognition. ECCV 2016. Args: num_classes (int): number of classes. feat_dim (in

2021-09-10 20:26:28 687 1

原创 windows insightface库 人脸识别入门教程

初学insightface,在网上找了几天的博客,但是大多都是在Linux上运行的教程。而且我下的源代码跟他们的结构完全不一样,一度怀疑自己下错了。后来发现是因为作者一直在迭代更新,到现在跟之前已经有很大不同了。为了便于自己入门,所以我去github上下载了作者19年的版本。环境配置环境配置按照https://zhuanlan.zhihu.com/p/33750684所说就行,cuda10.1也可以运行。源码下载https://github.com/deepinsight/insightface#t

2021-08-17 22:39:04 3970 2

原创 深度学习中的优化算法

常用优化算法Gradient Descent梯度下降在梯度下降中,每进行一次更新需要遍历整个数据集,以求得梯度大小。这会大大的增加运行的时间。为解决这个问题,因此有了SGD。Stochastic Gradient Descent(SGD)随机梯度下降SGD算法,每次随机选择一个样本计算梯度来进行迭代,随机梯度是对梯度的一个无偏估计。缺点:(1)准确度下降。由于即使在目标函数为强凸函数的情况下,SGD仍旧无法做到线性收敛。(2)可能会收敛到局部最优,由于单个样本并不能代表全体样本的趋势。Mini

2021-08-07 20:48:06 487

原创 pytorch简单项目模板

pytorch简单项目模板初学pytorch,但是不知道一个完整的项目应该怎么写,网上的模板大多数都很复杂看不懂,终于找到一个适合新手用的模板,包含数据生成器、模型定义、训练、模型保存、记录最佳模型、画图分析。模板地址:https://github.com/KinglittleQ/Pytorch-Templatepytorch项目流程一般来说,用pytorch编写深度学习模型,一般需要编写一下几个部分:模型定义数据处理和加载训练模型测试模型训练过程可视化这里先给出模板的总体,之后再详细说明

2021-07-30 17:37:04 857

原创 交叉熵损失函数

Cross Entropy Loss Function(交叉熵损失函数)原理:交叉熵

2021-07-27 21:33:40 131

原创 简单理解似然函数

似然函数在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。对于函数P(x∣θ),θ为已知,x为变量,该函数为概率函数,理解为已知结果为 x ,参数为θ对应的概率。所以似然函数可以看作是概率函数的另一个视角,它们的值是相等的。...

2021-07-27 16:40:26 1794

原创 卷积、池化操作计算操作后的矩阵维度

N = (W − F + 2P )/S+1N : output_shape 为 N x NW : input_shape 为 W×WF : Filter 大小 F×FP : Padding 大小S : 步长 stride

2021-07-24 14:38:28 512

原创 jupyter报错[WinError 127] 找不到指定的程序。caffe2_detectron_ops.dll“ or one of its dependencies.

在jupyter中导入torch时报错:发现只要删除该目录下的文件,就可以运行了。

2021-07-15 00:19:14 1662 7

原创 c++容器嵌套容器

c++中vector容器输出的代码如下:可以看到it是一个指针。容器嵌套容器的代码则是:其中it是指向小容器的一个指针

2021-07-11 18:19:32 843

原创 opencv 0x00007FF986D04ED9 处(位于 ConsoleApplication2.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception

如果选择的时是Debug附加依赖项中只有结尾为d的文件。

2021-07-10 11:23:30 3270

转载 c++拷贝构造函数调用场景

C++中拷贝构造函数调用时机通常有三种情况使用一个已经创建完毕的对象来初始化一个新对象值传递的方式给函数参数传值以值方式返回局部对象class Person {public: Person() { cout << "无参构造函数!" << endl; mAge = 0; } Person(int age) { cout << "有参构造函数!" << endl; mAge = age; } Person(const Pe

2021-07-08 20:49:32 91

原创 c++ 引用&与指针*区别

&可简化指针修改实参//1. 值传递void mySwap01(int a, int b) { int temp = a; a = b; b = temp;}//2. 地址传递void mySwap02(int* a, int* b) { int temp = *a; *a = *b; *b = temp;}//3. 引用传递void mySwap03(int& a, int& b) { int temp = a; a = b; b = temp

2021-07-08 17:23:20 89

原创 c++ const 指针常量,常量指针

const修饰指针const修饰指针有三种情况const修饰指针 — 常量指针const修饰常量 — 指针常量const即修饰指针,又修饰常量示例:int main() { int a = 10; int b = 10; //const修饰的是指针,指针指向可以改,指针指向的值不可以更改 const int * p1 = &a; p1 = &b; //正确 //*p1 = 100; 报错 //const修饰的是常量,指针指向不可以改,指针指向的值可以更

2021-07-08 16:05:23 101

原创 python opencv 全景图拼接

import numpy as npimport cv2class Stitcher: # 拼接函数 def stitch(self, images, ratio=0.75, reprojThresh=4.0, showMatches=False): # 获取输入图片 (imageB, imageA) = images # 检测A、B图片的SIFT关键特征点,并计算特征描述子 (kpsA, featuresA) = s

2021-07-08 11:00:53 390 1

原创 python opencv 人脸检测

进行人脸检测前需要调用笔记本的摄像头。opencv中通过cv2.VideoCapture()来进行摄像头的调用。括号中为0代表调用本机摄像头,为1代表调用usb摄像头。调用摄像头后,就需要进行人脸的检测,此处需要借助opencv中的CascadeClassifier()函数加载haarcascade_frontalface_alt.xml文件。之后就是对摄像头得到的每帧视频进行处理,要对它进行灰度转换,再用之前加载得分类器进行人脸检测。使用classfier.detectMultiScale()返回检

2021-07-07 14:42:08 213

原创 opencv模板匹配,读取银行卡号

首先需要银行卡图片和数字图片。读取卡号的原理是通过模板匹配银行卡上的数字,从而提取卡号。首先,需要将数字的图片进行处理,将其分为不同的数字的模板。这里需要进行灰度转换以及二值化操作,使得边缘检测更加准确。img=cv2.imread('image/num.png',0)#二值化ref=cv2.threshold(img,100,255,cv2.THRESH_BINARY_INV)[1]contours,hierarchy=cv2.findContours(ref,cv2.RETR_EXTERN

2021-07-06 10:59:11 564

原创 opencv imread读取格式

在cv中是以BGR格式来进行图像数据的存储。通过imread()提取到图像的数值是一个三维的列表为搞清里面的数值代表什么,分别打印出BGR的值:与之前的对比可以观察出imread得到的数据每列代表一个数值。再观察列表的长度,与图片尺寸对比:可以看到与图片的尺寸对应,imread得到的数据则代表每行每列像素的BGR值。参考:添加链接描述...

2021-07-03 20:07:26 2301 4

原创 机器学习文本分类

文本预处理​ 是比较重要的步骤,对分类效果的影响至关重要。预处理就是去除没用的信息,同时把有用文本信息用数字表示,这样才可以为计算机处理。文本预处理主要包括分词、去除停用词和特殊符号。分词英文分词​ 英文的基本单位是单词,可以根据空格和标点符号进行分词,然后再提取词根和词干。中文分词​ 中文的基本单位是字,需要一些算法来进行分词:基于词典与规则的方法基于统计的方法基于理解的分词算法去停用词​ 指文本处理过程中遇到立即进行处理将它们扔掉的词,主要包括数字、数学符号、虚词以及文本中的高频词

2021-03-17 20:09:34 711

原创 python创建多维空数组

data_sml=[[]for i in range(4)]

2021-03-17 19:51:01 2300

原创 数据结构查找算法

查找:顺序查找:顺序表:略链表:Lnode* search(Lnode *head, int x){Lnode *p=head->next;while (p != NULL){if(p->data==x){return p;}p= p->next;}return NULL;}ASL:找到为∑_(i=1)^n▒〖i/n〗=(1/n)n(1+n)/2=(n+1)/2没找到为n折半查找:int Bsearch(int R[], int low,int h

2020-08-14 20:03:02 133

原创 python类与对象

一.内容:1.类和对象面向过程:在实现程序或者解决问题的时候,是一步一步的去实现,有具体的过程面向对象:在解决问题或者程序的设计的时候,通过某一个具体的实物来完成类:基于相同属性和行为的多个实物的统称的集合,抽象的概念对象:具体存在的实物,可以直接使用对象其实类的具体实例,类是创建对象的模板(也是对象的抽象)2.魔法方法(应该是以前的构造函数和析构函数)魔法方法:不需要程序设计者,自动调用init: 在对象创建的时候,自动执行,为对象进行初始化del: 在对象销毁的时候,

2020-07-26 19:29:11 119

原创 python基础语法

1. 列表定义的格式: 列表名称 = [元素1, 元素2, ……]元素可以是数字、字符串、列表列表的访问:整体访问:列表名称;单个访问:通过下标获取元素切片技术来访问列表中某些元素列表的操作:len:计算列表的长度+ : 实现列表的加法,将两个列表合并成为一个新的列表;* :乘正整数,表示列表的操作次数;value in List :判断元素value是否在列表List中,如果在返回True,否则返回Falseappend(), 在列表的尾部增加一个新的元素;insert(inde

2020-07-26 19:21:40 122

原创 textbox中显示数据库中内容

private void 餐桌状态_Load(object sender, EventArgs e){textBox1.Text = txt;string roomid = this.textBox1.Text;SqlConnection conn = new SqlConnection(“Server=.;Integrated Security=true;Database=YKL”);...

2019-06-08 00:32:43 3273 1

原创 c#登陆的实现

string userid = this.textBox1.Text; string password = this.textBox2.Text; if (userid.Equals("") || password.Equals(""))//用户名或密码为空 { MessageBox.Show("用户名或密码不能为空");...

2019-06-07 22:55:19 248

空空如也

空空如也

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

TA关注的人

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